Установка и настройка PostgreSQL на linux ubuntu 24.04
Подробное руководство по установке, настройке и оптимизации PostgreSQL для linux ubuntu 24.04
Введение
PostgreSQL – современная объектно-реляционная СУБД с открытым исходным кодом. Это руководство поможет установить и настроить PostgreSQL 16 на Ubuntu 24.04, включая базовую оптимизацию и решение распространенных проблем.
Требования
Для выполнения инструкций потребуется:
- Ubuntu 24.04 (Noble Numbat)
- Минимум 1 ГБ оперативной памяти
- 10 ГБ свободного места на диске
- Права администратора (sudo)
Установка
Установка PostgreSQL
Подготовка
1sudo apt update && sudo apt upgrade -y 2sudo apt install wget ca-certificates -y
Процесс установки
1sudo apt install postgresql postgresql-contrib -y 2 3# Проверка статуса 4sudo systemctl status postgresql.service
Настройка
Базовая конфигурация:
1sudo -u postgres psql 2ALTER USER postgres PASSWORD 'ваш_пароль'; 3\q 4 5# Редактирование конфига 6sudo nano /etc/postgresql/16/main/postgresql.conf 7 8# Раскомментируйте и измените: 9# listen_addresses = '*' 10 11# Настройка доступа 12sudo nano /etc/postgresql/16/main/pg_hba.conf 13 14# Добавьте в конец: 15# host all all 0.0.0.0/0 scram-sha-256 16 17sudo systemctl restart postgresql 18 19# Проверка подключения 20psql -h localhost -U postgres -d postgres
Типичные ошибки и их решения
Ошибка подключения:
Connection refused
Решение: Проверьте listen_addresses в postgresql.conf и правила брандмауэра
Ошибка аутентификации:
Ident authentication failed
Измените метод аутентификации в pg_hba.conf на scram-sha-256
Заключение
Вы успешно установили PostgreSQL и настроили базовый доступ. Для production-среды рекомендуется:
- Настроить регулярные бэкапы
- Включить мониторинг
- Использовать отдельного пользователя для каждого приложения
Команды
Установка PostgreSQL
1sudo apt install postgresql postgresql-contrib -y
Запуск службы
sudo systemctl start postgresql
Открытие порта 5432
sudo ufw allow 5432/tcp
Решение проблем
Сервис PostgreSQL не запускается
Проверьте синтаксис конфигурационных файлов и права доступа
1sudo journalctl -u postgresql.service -b
Ошибка аутентификации для пользователя postgres
Измените метод аутентификации в pg_hba.conf на trust (временно)
1sudo nano /etc/postgresql/16/main/pg_hba.conf