Zpět na blog
Leden 27, 2026Návody

Jak nainstalovat PostgreSQL na Linux serveru

Kompletní průvodce instalací, konfigurací a zabezpečením PostgreSQL databázového serveru na Ubuntu a CentOS.

Jak nainstalovat PostgreSQL na Linux serveru

PostgreSQL je výkonný systém pro správu relačních databází s otevřeným zdrojovým kódem, známý pro svou spolehlivost, bohatost funkcí a dodržování standardů. Tento průvodce vám pomůže nainstalovat a nakonfigurovat PostgreSQL na vašem Hiddence Linux serveru.

Instalace PostgreSQL na Ubuntu/Debian

PostgreSQL je dostupný ve výchozích repozitářích. Nainstalujte nejnovější verzi:

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

# Spustit a povolit PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Ověřit instalaci
sudo systemctl status postgresql
psql --version

Instalace PostgreSQL na RHEL / CentOS / AlmaLinux / Rocky Linux

Pro distribuce založené na RHEL musíte nejprve přidat PostgreSQL repozitář:

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

# Pro CentOS 8/Rocky Linux 8 použijte:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

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

# Inicializovat databázi
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# Spustit a povolit PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Ověřit instalaci
sudo systemctl status postgresql-15
psql --version

Ověření instalace

bash
# Zkontrolovat stav PostgreSQL
sudo systemctl status postgresql

# Zkontrolovat verzi PostgreSQL
psql --version

# Připojit se k PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# Připojit se k PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

Zabezpečení PostgreSQL

Nastavte heslo pro uživatele postgres:

bash
# Připojit se k PostgreSQL
sudo -u postgres psql

# Nastavit heslo pro uživatele postgres
ALTER USER postgres PASSWORD 'vaše_silné_heslo';

# Opustit PostgreSQL
\q

Vytvoření databáze a uživatele

bash
# Připojit se jako uživatel postgres
sudo -u postgres psql

# Vytvořit databázi
CREATE DATABASE myapp_db;

# Vytvořit uživatele
CREATE USER app_user WITH PASSWORD 'silné_heslo';

# Udělit oprávnění
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Opustit
\q

Správa uživatelů

bash
# Připojit se k PostgreSQL
sudo -u postgres psql

# Zobrazit všechny uživatele
\du

# Vytvořit nového uživatele
CREATE USER newuser WITH PASSWORD 'heslo';

# Udělit oprávnění
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# Odebrat oprávnění
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Smazat uživatele
DROP USER newuser;

Povolení vzdálených připojení

Pro povolení vzdálených připojení upravte konfigurační soubory PostgreSQL:

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

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

# Přidat řádek:
host    all             all             0.0.0.0/0               md5

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

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

# Změnit:
listen_addresses = '*'

# Restartovat PostgreSQL
sudo systemctl restart postgresql

Základní PostgreSQL příkazy

bash
# Připojit se k databázi
psql -U app_user -d myapp_db

# Zobrazit databáze
\l

# Připojit se k databázi
\c database_name

# Zobrazit tabulky
\dt

# Popsat tabulku
\d table_name

# Spustit SQL soubor
psql -U app_user -d myapp_db -f script.sql

# Zálohovat databázi
pg_dump -U app_user myapp_db > backup.sql

# Obnovit databázi
psql -U app_user -d myapp_db < backup.sql

Užitečné tipy

  • Vždy používejte silná hesla pro uživatele databáze
  • Omezte vzdálený přístup na konkrétní IP adresy v pg_hba.conf
  • Pravidelně zálohujte své databáze pomocí pg_dump
  • Sledujte protokoly PostgreSQL: /var/log/postgresql/ (Ubuntu) nebo /var/lib/pgsql/15/data/log/ (CentOS)
  • Používejte sdružování připojení (pgBouncer) pro aplikace s vysokým provozem
  • Udržujte PostgreSQL aktualizovaný na nejnovější stabilní verzi kvůli bezpečnostním záplatám