Обратно към блога
Януари 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 актуализиран до най-новата стабилна версия за сигурностни корекции