Powrót do bloga
Styczeń 27, 2026Poradniki

Jak zainstalować PostgreSQL na serwerze Linux

Kompletny przewodnik dotyczący instalacji, konfiguracji i zabezpieczenia serwera bazy danych PostgreSQL na Ubuntu i CentOS.

Jak zainstalować PostgreSQL na serwerze Linux

PostgreSQL to potężny, open-source relacyjny system zarządzania bazami danych znany z niezawodności, bogactwa funkcji i zgodności ze standardami. Ten przewodnik pomoże Ci zainstalować i skonfigurować PostgreSQL na serwerze Linux Hiddence.

Instalacja PostgreSQL na Ubuntu/Debian

PostgreSQL jest dostępny w domyślnych repozytoriach. Zainstaluj najnowszą wersję:

bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y

# Uruchom i włącz PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Zweryfikuj instalację
sudo systemctl status postgresql
psql --version

Instalacja PostgreSQL na RHEL / CentOS / AlmaLinux / Rocky Linux

Dla dystrybucji opartych na RHEL najpierw musisz dodać repozytorium PostgreSQL:

bash
# Zainstaluj repozytorium PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Dla CentOS 8/Rocky Linux 8 użyj:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Zainstaluj PostgreSQL
sudo dnf install -y postgresql15-server postgresql15

# Zainicjalizuj bazę danych
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# Uruchom i włącz PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Zweryfikuj instalację
sudo systemctl status postgresql-15
psql --version

Weryfikacja instalacji

bash
# Sprawdź status PostgreSQL
sudo systemctl status postgresql

# Sprawdź wersję PostgreSQL
psql --version

# Połącz się z PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# Połącz się z PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

Zabezpieczanie PostgreSQL

Ustaw hasło dla użytkownika postgres:

bash
# Połącz się z PostgreSQL
sudo -u postgres psql

# Ustaw hasło dla użytkownika postgres
ALTER USER postgres PASSWORD 'twoje_silne_haslo';

# Wyjdź z PostgreSQL
\q

Tworzenie bazy danych i użytkownika

bash
# Połącz się jako użytkownik postgres
sudo -u postgres psql

# Utwórz bazę danych
CREATE DATABASE myapp_db;

# Utwórz użytkownika
CREATE USER app_user WITH PASSWORD 'silne_haslo';

# Nadaj uprawnienia
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Wyjdź
\q

Zarządzanie użytkownikami

bash
# Połącz się z PostgreSQL
sudo -u postgres psql

# Wyświetl wszystkich użytkowników
\du

# Utwórz nowego użytkownika
CREATE USER newuser WITH PASSWORD 'haslo';

# Nadaj uprawnienia
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# Cofnij uprawnienia
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Usuń użytkownika
DROP USER newuser;

Włączanie połączeń zdalnych

Aby zezwolić na połączenia zdalne, edytuj pliki konfiguracyjne PostgreSQL:

bash
# Edytuj pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# Edytuj pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# Dodaj linię:
host    all             all             0.0.0.0/0               md5

# Edytuj postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# Edytuj postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# Zmień:
listen_addresses = '*'

# Uruchom ponownie PostgreSQL
sudo systemctl restart postgresql

Podstawowe polecenia PostgreSQL

bash
# Połącz się z bazą danych
psql -U app_user -d myapp_db

# Wyświetl bazy danych
\l

# Połącz się z bazą danych
\c database_name

# Wyświetl tabele
\dt

# Opisz tabelę
\d table_name

# Wykonaj plik SQL
psql -U app_user -d myapp_db -f script.sql

# Utwórz kopię zapasową bazy danych
pg_dump -U app_user myapp_db > backup.sql

# Przywróć bazę danych
psql -U app_user -d myapp_db < backup.sql

Przydatne wskazówki

  • Zawsze używaj silnych haseł dla użytkowników bazy danych
  • Ogranicz dostęp zdalny do konkretnych adresów IP w pg_hba.conf
  • Regularnie tworz kopie zapasowe baz danych używając pg_dump
  • Monitoruj logi PostgreSQL: /var/log/postgresql/ (Ubuntu) lub /var/lib/pgsql/15/data/log/ (CentOS)
  • Używaj puli połączeń (pgBouncer) dla aplikacji o dużym ruchu
  • Utrzymuj PostgreSQL zaktualizowany do najnowszej stabilnej wersji dla poprawek bezpieczeństwa