Jak używać PostgreSQL z aplikacją Ruby on Rails na Ubuntu 20.04
Wprowadzenie
PostgreSQL to potężny system zarządzania bazami danych typu open source, który jest znany z niezawodności, rozszerzalności i bogatego zestawu funkcji. Jest popularnym wyborem dla wielu aplikacji, w tym aplikacji Ruby on Rails. Rails to framework MVC (Model-View-Controller) dla języka Ruby, który ułatwia i przyspiesza tworzenie aplikacji internetowych.
Integracja PostgreSQL z aplikacją Ruby on Rails zapewnia wiele korzyści, w tym:
* Niezawodna i skalowalna baza danych: PostgreSQL może obsługiwać duże ilości danych i zapewnia wysoką dostępność, co czyni go idealnym dla aplikacji o dużym ruchu.
* Bogaty zestaw funkcji: PostgreSQL oferuje szeroki zakres funkcji, takich jak transakcje ACID, indeksowanie pełnotekstowe i typy danych specyficzne dla domeny.
* Łatwa integracja z Rails: Rails udostępnia wbudowane narzędzia do łączenia się z bazami danych PostgreSQL, co ułatwia konfigurację i zarządzanie bazą danych.
Spis treści:
Instalacja PostgreSQL
Aby zainstalować PostgreSQL na Ubuntu 20.04, wykonaj następujące kroki:
1. Aktualizacja systemu
bash
sudo apt update
2. Instalacja PostgreSQL
bash
sudo apt install postgresql postgresql-contrib
3. Tworzenie bazy danych dla aplikacji Rails
Po zainstalowaniu PostgreSQL utwórz bazę danych dla swojej aplikacji Rails:
bash
sudo -u postgres createuser -SDR rails
sudo -u postgres createdb -O rails rails_database
Zamień „rails_database” na nazwę bazy danych, której chcesz użyć.
Konfiguracja Railsa
Aby skonfigurować swoją aplikację Rails do korzystania z bazy danych PostgreSQL, wykonaj następujące kroki:
1. Utwórz plik database.yml
bash
touch config/database.yml
2. Dodaj konfigurację bazy danych
Dodaj następującą konfigurację do pliku database.yml
:
yaml
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
database: rails_database
username: rails
password:
host: localhost
development:
<<: *default
test:
<<: *default
database: rails_database_test
Zamień „rails_database” na nazwę bazy danych, której użyłeś podczas tworzenia bazy danych.
Migracje bazy danych
Po skonfigurowaniu pliku database.yml
utwórz migracje bazy danych, które utworzą schemat bazy danych:
bash
rails generate migration CreateArticles
rails db:migrate
Korzystanie z PostgreSQL w aplikacji Rails
Po wykonaniu migracji bazy danych możesz rozpocząć korzystanie z PostgreSQL w swojej aplikacji Rails. Oto kilka przykładów:
1. Tworzenie nowego rekordu
ruby
Article.create(title: "Mój pierwszy artykuł", body: "To jest treść mojego artykułu.")
2. Pobieranie rekordu
ruby
article = Article.find(1)
3. Aktualizacja rekordu
ruby
article.update(title: "Zaktualizowany tytuł")
Konfiguracja zaawansowana
1. Konfiguracja połączenia z bazą danych
Możesz dostosować sposób łączenia aplikacji Rails z bazą danych PostgreSQL, modyfikując ustawienia w pliku database.yml
. Na przykład, aby ustawić limit czasu połączenia na 10 sekund, dodaj:
yaml
timeout: 10000
2. Używanie rozszerzeń PostgreSQL
PostgreSQL oferuje wiele rozszerzeń, które mogą rozszerzyć funkcjonalność bazy danych. Na przykład, aby włączyć pełnotekstowe indeksowanie, zainstaluj rozszerzenie „pg_trgm” i dodaj:
yaml
pg_trgm:
adapter: postgresql
database: rails_database
username: rails
password:
host: localhost
extensions: ["pg_trgm"]
3. Używanie puli połączeń
Domyślnie Rails tworzy jedną pulę połączeń dla każdej bazy danych. Możesz dostosować liczbę połączeń w puli, modyfikując ustawienie pool
w pliku database.yml
.
Wniosek
Integracja PostgreSQL z aplikacją Ruby on Rails pozwala na tworzenie niezawodnych i skalowalnych aplikacji internetowych. PostgreSQL oferuje bogaty zestaw funkcji, a Rails zapewnia łatwe narzędzia do łączenia się z bazą danych i zarządzania nią. Łącząc te dwie technologie, możesz tworzyć zaawansowane i wydajne aplikacje.
Często zadawane pytania
1. Jaka jest różnica między PostgreSQL a MySQL?
PostgreSQL i MySQL to popularne systemy zarządzania bazami danych. PostgreSQL jest znany ze swojej niezawodności, rozszerzalności i bogatego zestawu funkcji, podczas gdy MySQL jest znany ze swojej łatwości użytkowania i wydajności.
2. Jak zainstalować rozszerzenie PostgreSQL?
Aby zainstalować rozszerzenie PostgreSQL, wykonaj następujące kroki:
bash
sudo apt install postgresql-contrib
psql -d baza_danych -c "CREATE EXTENSION nazwa_rozszerzenia"
3. Jak testować połączenie z bazą danych PostgreSQL?
Aby przetestować połączenie z bazą danych PostgreSQL, wykonaj następujące kroki:
bash
psql -U nazwa_użytkownika -d nazwa_bazy
4. Jak skonfigurować użytkownika bazy danych PostgreSQL?
Aby skonfigurować użytkownika bazy danych PostgreSQL, wykonaj następujące kroki:
bash
sudo -u postgres createuser -SDR nazwa_użytkownika
sudo -u postgres psql -c "ALTER USER nazwa_użytkownika WITH PASSWORD 'hasło';"
5. Jak utworzyć bazę danych PostgreSQL?
Aby utworzyć bazę danych PostgreSQL, wykonaj następujące kroki:
bash
sudo -u postgres createdb nazwa_bazy
6. Jak zmienić hasło użytkownika bazy danych PostgreSQL?
Aby zmienić hasło użytkownika bazy danych PostgreSQL, wykonaj następujące kroki:
bash
sudo -u postgres psql -c "ALTER USER nazwa_użytkownika WITH PASSWORD 'nowe_hasło';"
7. Jak usunąć bazę danych PostgreSQL?
Aby usunąć bazę danych PostgreSQL, wykonaj następujące kroki:
bash
sudo -u postgres dropdb nazwa_bazy
8. Jak usunąć użytkownika bazy danych PostgreSQL?
Aby usunąć użytkownika bazy danych PostgreSQL, wykonaj następujące kroki:
bash
sudo -u postgres dropuser nazwa_użytkownika