Назад до блогу
Січень 27, 2026Посібники

Як встановити PostgreSQL на Linux сервері

Повний посібник з встановлення, налаштування та захисту сервера бази даних PostgreSQL на Ubuntu та CentOS.

Як встановити PostgreSQL на Linux сервері

PostgreSQL — це потужна система управління реляційними базами даних з відкритим кодом, відома своєю надійністю, багатством функцій та відповідністю стандартам. Цей посібник допоможе вам встановити та налаштувати PostgreSQL на вашому сервері Hiddence Linux.

Встановлення PostgreSQL на Ubuntu/Debian

PostgreSQL доступний у стандартних репозиторіях. Встановіть останню версію:

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

# Запустіть та увімкніть PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql

# Перевірте встановлення
sudo systemctl status postgresql
psql --version

Встановлення PostgreSQL на RHEL / CentOS / AlmaLinux / Rocky Linux

Для дистрибутивів на основі RHEL спочатку потрібно додати репозиторій PostgreSQL:

bash
# Встановіть репозиторій PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Для CentOS 8/Rocky Linux 8 використовуйте:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Встановіть PostgreSQL
sudo dnf install -y postgresql15-server postgresql15

# Ініціалізуйте базу даних
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

# Запустіть та увімкніть PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

# Перевірте встановлення
sudo systemctl status postgresql-15
psql --version

Перевірка встановлення

bash
# Перевірте статус PostgreSQL
sudo systemctl status postgresql

# Перевірте версію PostgreSQL
psql --version

# Підключіться до PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql

# Підключіться до PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgres

Захист PostgreSQL

Встановіть пароль для користувача postgres:

bash
# Підключіться до PostgreSQL
sudo -u postgres psql

# Встановіть пароль для користувача postgres
ALTER USER postgres PASSWORD 'ваш_надійний_пароль';

# Вийдіть з PostgreSQL
\q

Створення бази даних та користувача

bash
# Підключіться як користувач postgres
sudo -u postgres psql

# Створіть базу даних
CREATE DATABASE myapp_db;

# Створіть користувача
CREATE USER app_user WITH PASSWORD 'надійний_пароль';

# Надайте привілеї
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;

# Вийдіть
\q

Управління користувачами

bash
# Підключіться до PostgreSQL
sudo -u postgres psql

# Показати всіх користувачів
\du

# Створіть нового користувача
CREATE USER newuser WITH PASSWORD 'пароль';

# Надайте привілеї
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;

# Відкликайте привілеї
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;

# Видаліть користувача
DROP USER newuser;

Увімкнення віддалених з'єднань

Щоб дозволити віддалені з'єднання, відредагуйте файли конфігурації PostgreSQL:

bash
# Редагуйте pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf

# Редагуйте pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf

# Додайте рядок:
host    all             all             0.0.0.0/0               md5

# Редагуйте postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf

# Редагуйте postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf

# Змініть:
listen_addresses = '*'

# Перезапустіть PostgreSQL
sudo systemctl restart postgresql

Основні команди PostgreSQL

bash
# Підключіться до бази даних
psql -U app_user -d myapp_db

# Показати бази даних
\l

# Підключіться до бази даних
\c database_name

# Показати таблиці
\dt

# Описати таблицю
\d table_name

# Виконати SQL файл
psql -U app_user -d myapp_db -f script.sql

# Створити резервну копію бази даних
pg_dump -U app_user myapp_db > backup.sql

# Відновити базу даних
psql -U app_user -d myapp_db < backup.sql

Корисні поради

  • Завжди використовуйте надійні паролі для користувачів бази даних
  • Обмежте віддалений доступ до конкретних IP-адрес у pg_hba.conf
  • Регулярно створюйте резервні копії ваших баз даних за допомогою pg_dump
  • Моніторте логи PostgreSQL: /var/log/postgresql/ (Ubuntu) або /var/lib/pgsql/15/data/log/ (CentOS)
  • Використовуйте пул з'єднань (pgBouncer) для додатків з високим трафіком
  • Тримайте PostgreSQL оновленим до останньої стабільної версії для виправлень безпеки