Как установить и настроить PostgreSQL на VPS с CentOS

Как установить и настроить PostgreSQL на VPS с CentOS
Логотип PostgreSQL

PostgreSQL — надёжная реляционная СУБД с поддержкой объектных расширений и строгой типизацией. Её используют для работы с данными в интернет-проектах и внутри компаний. Для тех, кто только начинает работать или планирует использовать PostgreSQL на сервере, установка и настройка на VPS с CentOS может стать немного сложной задачей. Однако, следуя руководству, можно легко справиться с этим процессом.

Аренда VPS/VDS от 219 руб/месяц

Преимущества VPS в AdminVPS:

✓ Бесплатное администрирование

✓ Только быстрые NVMe-диски

✓ Защита от DDoS-атак

✓ Быстрая техподдержка

Аренда VPS/VDS виртуального сервера от AdminVPS — это прозрачная и честная услуга с доступной ценой

Подготовка сервера

Перед тем как приступить к установке 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 для использования в вашей бизнес-среде не вызовет затруднений.

Читайте в блоге:

Loading spinner
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

VPN на VPS-сервере

Узнайте, как создать собственный VPN на VPS-сервере для защиты ваших конфиденциальных данных!

Что будем искать? Например,VPS-сервер

Мы в социальных сетях