Главная > ОС > Linux > Centos > 9 > Установка и настройка PostgreSQL на linux centos 9

Установка и настройка PostgreSQL на linux centos 9

Обновлено: 16.04.2025Руководство

Установка и настройка PostgreSQL на linux centos 9

Подробное руководство по установке, настройке и оптимизации PostgreSQL для linux centos 9

Введение

PostgreSQL - современная объектно-реляционная СУБД с открытым исходным кодом. В этом руководстве мы установим PostgreSQL на CentOS 9, выполним базовую настройку и обеспечение безопасности.

Требования

  • Сервер под управлением CentOS 9
  • Права суперпользователя (root или sudo)
  • Минимум 1 ГБ свободного места на диске
  • 512 МБ оперативной памяти
  • Стабильное интернет-соединение

Установка

Подготовка

Обновите систему перед установкой:

1dnf clean all
2dnf update -y

Проверьте обновления:

1cat /etc/centos-release

Процесс установки

Установите PostgreSQL и дополнительные компоненты:

1dnf install -y postgresql-server postgresql-contrib

Инициализируйте БД:

1postgresql-setup --initdb

Запустите службу:

1systemctl enable postgresql
2systemctl start postgresql

Проверьте статус:

systemctl status postgresql

Настройка

Настройте доступ к PostgreSQL:

  1. Измените pg_hba.conf:
1vi /var/lib/pgsql/data/pg_hba.conf

Добавьте строку для локального доступа:

host    all             all             127.0.0.1/32            md5
  1. Измените postgresql.conf для удаленного доступа:
1vi /var/lib/pgsql/data/postgresql.conf

Раскомментируйте и измените:

listen_addresses = '*' 
  1. Перезагрузите службу:
systemctl restart postgresql

Создайте пользователя и БД:

1sudo -u postgres psql -c "CREATE USER demo_user WITH PASSWORD 'StrongPassword';"
2sudo -u postgres psql -c "CREATE DATABASE demo_db WITH OWNER demo_user;"

Настройте firewall:

1firewall-cmd --permanent --add-port=5432/tcp
2firewall-cmd --reload

Типичные ошибки и их решения

Ошибка: Connection refused

  • Проверьте listen_addresses в postgresql.conf
  • Убедитесь что служба запущена

Ошибка аутентификации

  • Проверьте настройки в pg_hba.conf
  • Убедитесь в правильности пароля пользователя

Ошибка: Could not create default cluster Выполните:

1rm -rf /var/lib/pgsql/data
2postgresql-setup --initdb

Заключение

Вы успешно установили и настроили PostgreSQL на CentOS 9. Для повышения безопасности:

  • Регулярно обновляйте СУБД
  • Используйте сложные пароли
  • Настройте бэкапы
  • Ограничьте доступ к порту 5432

Команды

Установка PostgreSQL

1dnf install -y postgresql-server postgresql-contrib

Инициализация БД

1postgresql-setup --initdb

Проверка версии PostgreSQL

1psql --version

Вход в консоль PSQL

sudo -u postgres psql

Решение проблем

Служба PostgreSQL не запускается

Проверьте журналы: journalctl -u postgresql.service

1journalctl -xe -u postgresql

Ошибка при подключении через сеть

Проверьте настройки firewall и listen_addresses

firewall-cmd --list-all

Отсутствуют права на запись в data directory

Измените владельца каталога: chown postgres:postgres /var/lib/pgsql/data -R

1chown postgres:postgres /var/lib/pgsql/data -R