
PostgreSQL — надёжная реляционная СУБД с поддержкой объектных расширений и строгой типизацией. Её используют для работы с данными в интернет-проектах и внутри компаний. Для тех, кто только начинает работать или планирует использовать PostgreSQL на сервере, установка и настройка на VPS с CentOS может стать немного сложной задачей. Однако, следуя руководству, можно легко справиться с этим процессом.
Подготовка сервера
Перед тем как приступить к установке PostgreSQL, необходимо убедиться, что сервер обновлён и готов к установке. Для начала подключитесь по SSH, указав адрес своего сервера:
ssh username@IP-адрес-сервера
Затем обновите систему:
sudo yum update -y
Когда обновление выполнено, можно переходить к загрузке и настройке PostgreSQL.
Интеграция PostgreSQL
Чтобы система могла загрузить нужные файлы для интеграции PostgreSQL, необходимо подключить внешний источник — специальный репозиторий. Для этого скопируйте и вставьте в терминале команду:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-centos12-12-2.noarch.rpm
Эта команда загружает и устанавливает репозиторий. Теперь система будет знать, где искать файлы для работы с PostgreSQL.
После добавления репозитория можно установить сам PostgreSQL и вспомогательные утилиты. Для этого вводим:
sudo yum install -y postgresql12-server postgresql12-contrib
Начало работы с PostgreSQL
Наберите в терминале:
sudo systemctl enable postgresql-12
Активируем PostgreSQL:
sudo systemctl start postgresql-12
Проверьте статус сервера:
sudo systemctl status postgresql-12
Создание пользователей и базы данных
Установив PostgreSQL, заведите отдельную учётную запись и создайте место хранения информации для приложений. Это повысит безопасность и управляемость доступом к системе.
Откройте встроенную консоль управления PostgreSQL — psql. Она запускается от имени системного пользователя postgres, который создаётся при установке базы данных.
Выполните по очереди в терминале:
sudo -i -u postgres
psql
Первая команда переключает вас на пользователя postgres, а вторая запускает консоль PostgreSQL. Внутри этой консоли можно создавать пользователей и информационные хранилища.
Например:
CREATE USER site_user WITH PASSWORD 'надёжный_пароль';
CREATE DATABASE site_data OWNER site_user;
Чтобы выйти из консоли PostgreSQL, введите:
\q
Теперь база данных site_data принадлежит пользователю site_user, который будет использоваться приложениями для подключения.
Настройка доступа
Когда PostgreSQL активирован, необходимо разрешить доступ извне — например, с других компьютеров или с удалённого приложения. Настроим параметры доступа и методы аутентификации в конфигурационных файлах PostgreSQL.
Открытие файла pg_hba.conf
Нужно открыть файл pg_hba.conf, который отвечает за методы доступа к серверу. Он находится в стандартной директории PostgreSQL и всегда находится по адресу:
/var/lib/pgsql/12/data/
Если у вас установлена иная редакция PostgreSQL, цифра 12 в адресе будет заменена на соответствующую номеру версии. Перейти туда можно через терминал сервера (если вы уже подключены к VPS) и выполнить команду:
sudo nano /var/lib/pgsql/12/data/pg_hba.conf
Выбор способа аутентификации
В открывшемся файле нужно найти строку, начинающуюся с host, и заменить её следующим образом:
host all all 0.0.0.0/0 md5
Метод md5 считается устаревающим. В PostgreSQL 14+ рекомендуется scram-sha-256. Но md5 ещё поддерживается и чаще используется по умолчанию.
Важно
Начиная с PostgreSQL 10, рекомендуем использовать scram-sha-256 вместо md5 для повышения безопасности.
Если такой строки нет — можно добавить её вручную в конец файла.
Настройка подключения по сети
Если нужно подключаться к PostgreSQL не только с самого сервера, но и извне — например, из локальной сети или с веб-сервиса, — скорректируйте параметр listen_addresses в основном файле настроек.
Откройте файл postgresql.conf:
sudo nano /var/lib/pgsql/12/data/postgresql.conf
Найдите строку:
#listen_addresses = 'localhost'
и замените её на:
listen_addresses = '*'
Если строка закомментирована символом #, уберите его. Это позволит PostgreSQL принимать подключения с любых IP-адресов.
Изменения вступят в силу только после повторного запуска PostgreSQL:
sudo systemctl restart postgresql-12
Резервное копирование базы данных
Чтобы избежать потери информации при сбое оборудования, обновлении системы или ошибке в работе приложения, сохраняйте резервные копии базы данных.
Все действия в этом разделе выполняются в терминале сервера (в консоли, через которую настраивался PostgreSQL).
Создание резервной копии вручную
Самый простой способ сохранить содержимое базы — создать дамп (текстовую копию структуры и данных) с помощью встроенной утилиты pg_dump.
Пример команды:
pg_dump site_data > /home/user/backups/backup.sql
Здесь:
- site_data — название базы (подставьте своё);
- /home/user/backups/backup.sql — путь и имя файла, в который сохранится копия.
Если путь не существует, его нужно предварительно создать:
mkdir -p /home/user/backups
Автоматическое копирование по расписанию
Чтобы не копировать вручную каждый раз, можно настроить автоматическое выполнение через встроенный планировщик cron.
Откройте редактор заданий:
crontab -e
Внизу файла добавьте строку:
0 3 * * * bash -c 'pg_dump site_data > /home/user/backups/backup-$(date +\%F).sql'
Что она означает:
- 0 3 * * * — запуск каждый день в 3:00 ночи;
- pg_dump site_data — создание резервной копии базы;
- > /home/user/backups/backup-$(date +\%F).sql — сохранение с датой в имени файла (например, backup-2025-05-14.sql).
Дополнительные рекомендации
Хранить резервные копии на том же сервере небезопасно. Лучше настроить передачу файлов на внешний носитель, другой сервер или в облачное хранилище.
Для критически важных проектов стоит использовать утилиты шифрования и уведомлений о сбое (это требует отдельной настройки).
Теперь PostgreSQL установлен, настроен и готов к работе. Созданы базы данных, заданы права доступа и настроено резервное копирование: созданы нужные таблицы, определены права доступа, включена защита с помощью автокопирования. Система готова к работе: данные доступны для обмена с приложениями. Следуя указанным этапам, настройка PostgreSQL для использования в вашей бизнес-среде не вызовет затруднений.
Читайте в блоге:
- Как установить PostgreSQL на Linux: пошаговая инструкция
- Простая инструкция по установке PostgreSQL на Windows
- Как установить и настроить Apache, PHP и MariaDB (LAMP-стек) в Ubuntu 22.04