27 января 2026Руководства
Как установить PostgreSQL на Linux сервер
Полное руководство по установке, настройке и защите сервера базы данных PostgreSQL на Ubuntu и CentOS.

PostgreSQL — это мощная система управления реляционными базами данных с открытым исходным кодом, известная своей надежностью, богатым функционалом и соответствием стандартам. Это руководство поможет вам установить и настроить PostgreSQL на вашем Linux сервере Hiddence.
Установка 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 'your_strong_password';
# Выйдите из PostgreSQL
\qСоздание базы данных и пользователя
bash
# Подключитесь как пользователь postgres
sudo -u postgres psql
# Создайте базу данных
CREATE DATABASE myapp_db;
# Создайте пользователя
CREATE USER app_user WITH PASSWORD 'strong_password';
# Предоставьте привилегии
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;
# Выйдите
\qУправление пользователями
bash
# Подключитесь к PostgreSQL
sudo -u postgres psql
# Список всех пользователей
\du
# Создайте нового пользователя
CREATE USER newuser WITH PASSWORD '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 в актуальном состоянии для получения обновлений безопасности