Установка и настройка 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:
- Измените
pg_hba.conf
:
1vi /var/lib/pgsql/data/pg_hba.conf
Добавьте строку для локального доступа:
host all all 127.0.0.1/32 md5
- Измените
postgresql.conf
для удаленного доступа:
1vi /var/lib/pgsql/data/postgresql.conf
Раскомментируйте и измените:
listen_addresses = '*'
- Перезагрузите службу:
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