Установка и настройка PostgreSQL на linux centos 8
Подробное руководство по установке, настройке и оптимизации PostgreSQL для linux centos 8
Введение
PostgreSQL — мощная объектно-реляционная СУБД с открытым исходным кодом. Это руководство поможет:
- Установить последнюю версию PostgreSQL
- Настроить безопасный доступ
- Оптимизировать базовую конфигурацию
- Решить типичные проблемы
Требования
Перед началом убедитесь, что:
- CentOS 8 x86_64 (минимальная установка)
- Права суперпользователя (sudo)
- 1 ГБ свободного дискового пространства
- Минимум 512 МБ ОЗУ
- Активное интернет-соединение
Установка
Установка PostgreSQL
Основные этапы установки СУБД
Подготовка
1sudo dnf update -y 2sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm 3sudo dnf -qy module disable postgresql
Процесс установки
1sudo dnf install -y postgresql15-server 2sudo /usr/pgsql-15/bin/postgresql-15-setup initdb 3sudo systemctl enable postgresql-15 4sudo systemctl start postgresql-15 5 6# Проверка статуса 7sudo systemctl status postgresql-15
Настройка
Базовая конфигурация
1sudo -i -u postgres 2psql -c "ALTER USER postgres PASSWORD 'Ваш_Сложный_Пароль';" 3 4# Редактирование конфигов 5sudo vim /var/lib/pgsql/15/data/postgresql.conf 6# Измените: 7listen_addresses = '*' 8port = 5432 9 10sudo vim /var/lib/pgsql/15/data/pg_hba.conf 11# Добавьте: 12host all all 0.0.0.0/0 scram-sha-256 13 14# Перезагрузка службы 15sudo systemctl restart postgresql-15 16 17# Настройка firewall 18sudo firewall-cmd --permanent --add-port=5432/tcp 19sudo firewall-cmd --reload
Типичные ошибки и их решения
Ошибка: "Could not connect to server"
Решение:
- Проверьте статус сервиса:
systemctl status postgresql-15
- Убедитесь что порт 5432 открыт:
ss -tulpn | grep 5432
- Проверьте настройки доступа в pg_hba.conf
Ошибка аутентификации
Решение:
sudo -u postgres psql ALTER USER postgres WITH PASSWORD 'НовыйПароль';
Заключение
Вы успешно установили и настроили PostgreSQL. Для дальнейшей оптимизации:
- Настройте параметры shared_buffers
- Регулярно выполняйте резервное копирование
- Обновляйте СУБД до актуальных версий
Команды
Установка репозитория PostgreSQL
1sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Инициализация БД
1sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
Запуск службы
sudo systemctl start postgresql-15
Решение проблем
Ошибка при подключении через сеть
Проверьте listen_addresses в postgresql.conf и правила доступа в pg_hba.conf
1sudo grep listen /var/lib/pgsql/15/data/postgresql.conf
Служба не запускается после перезагрузки
Проверьте журналы системы и включите автозагрузку
1journalctl -u postgresql-15 && sudo systemctl enable postgresql-15