Jak używać PostgreSQL z aplikacją Ruby on Rails na Ubuntu 20.04

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.

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