Установка PostgreSQL на Ubuntu 22.04/20.04: Пошаговая инструкция | AdminWiki

Установка PostgreSQL на Ubuntu: Полное руководство для разработчиков

18 декабря 2025 7 мин. чтения #devops #linux #postgresql #ubuntu #базы данных #установка

Представь, что тебе нужно развернуть надежную реляционную базу данных для нового проекта. PostgreSQL — отличный выбор, но процесс установки на Ubuntu может показаться запутанным для новичка. Давай разберем все шаги вместе — от установки пакетов до настройки продвинутой конфигурации.

Подготовка системы перед установкой PostgreSQL

Перед тем как начать установку постгрес на ubuntu, убедись, что система обновлена. Это стандартная практика, которая помогает избежать конфликтов версий и проблем с зависимостями.

bash
sudo apt update
sudo apt upgrade -y

Важно: Рекомендую использовать Ubuntu 20.04 LTS или 22.04 LTS для стабильной работы. Поддержка LTS-версий гарантирует долгосрочные обновления безопасности.

Установка PostgreSQL из официальных репозиториев

Самый простой и надежный способ — установка из стандартных репозиториев Ubuntu. PostgreSQL там хорошо протестирован и стабилен.

bash
sudo apt install postgresql postgresql-contrib -y

Пакет postgresql-contrib содержит дополнительные модули и утилиты, которые часто бывают полезны в разработке.

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

После завершения установки давай убедимся, что служба запущена и работает корректно:

bash
sudo systemctl status postgresql

Ты должен увидеть статус "active (running)". Если служба не запущена, выполни:

bash
sudo systemctl start postgresql
sudo systemctl enable postgresql

Первоначальная настройка PostgreSQL

По умолчанию PostgreSQL создает пользователя postgres с правами суперпользователя. Давай войдем под этой учетной записью и настроим доступ.

Переключение на пользователя postgres

bash
sudo -i -u postgres

Создание нового пользователя и базы данных

Создадим отдельного пользователя для работы с базами данных (замени 'myuser' и 'mydb' на свои значения):

bash
createuser --interactive --pwprompt
createdb mydb -O myuser

Внимание: Не используй пользователя postgres для приложений. Создавай отдельных пользователей с ограниченными правами для каждого приложения — это принцип минимальных привилегий.

Настройка аутентификации и удаленного доступа

По умолчанию PostgreSQL разрешает только локальные подключения. Для настройки удаленного доступа нужно отредактировать два файла конфигурации.

Редактирование pg_hba.conf

bash
sudo nano /etc/postgresql/*/main/pg_hba.conf

Добавь или измени строку для разрешения подключений (пример для MD5-аутентификации):

config
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5

Настройка postgresql.conf

bash
sudo nano /etc/postgresql/*/main/postgresql.conf

Найди и раскомментируй строку:

config
listen_addresses = '*'

После изменений перезагрузи PostgreSQL:

bash
sudo systemctl restart postgresql

Основные команды управления PostgreSQL

Вот основные команды, которые понадобятся тебе для ежедневной работы:

Команда Описание Пример
psql Вход в интерактивную консоль psql -U myuser -d mydb
\l Список всех баз данных (внутри psql)
\du Список пользователей и ролей (внутри psql)
pg_dump Экспорт базы данных pg_dump mydb > backup.sql

Установка конкретной версии PostgreSQL

Если тебе нужна определенная версия (например, PostgreSQL 14 или 15), используй официальный репозиторий:

bash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-15 -y

Альтернатива: Установка PostgreSQL через Docker

Для разработки или тестирования часто удобнее использовать Docker-контейнер:

bash
docker run --name postgres-container \
  -e POSTGRES_PASSWORD=mysecretpassword \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_DB=mydb \
  -p 5432:5432 \
  -d postgres:15

Часто задаваемые вопросы (FAQ)

Как проверить, что PostgreSQL слушает порт 5432?

Используй команду: sudo ss -tulpn | grep 5432. Если увидишь "LISTEN", значит сервер работает и принимает подключения.

Где хранятся файлы базы данных на Ubuntu?

По умолчанию в /var/lib/postgresql/[version]/main/. Например, для PostgreSQL 15: /var/lib/postgresql/15/main/.

Как сбросить пароль пользователя postgres?

Войди в psql: sudo -u postgres psql, затем выполни: ALTER USER postgres WITH PASSWORD 'новый_пароль';

Как полностью удалить PostgreSQL с Ubuntu?

Выполни: sudo apt purge postgresql* и sudo rm -rf /var/lib/postgresql/. Будь осторожен — это удалит все данные!

Решение распространенных проблем

  • Ошибка "Peer authentication failed" — проверь настройки в pg_hba.conf, возможно нужно изменить METHOD на md5
  • PostgreSQL не запускается — проверь логи: sudo journalctl -u postgresql
  • Не хватает памяти — отредактируй postgresql.conf, уменьшив shared_buffers и work_mem

Профессиональный совет: Настрой регулярные бэкапы через pg_dump в cron и мониторинг через pg_stat_statements для анализа производительности.

Теперь у тебя есть полностью рабочая установка PostgreSQL на Ubuntu. Помни, что это только начало — дальше нужно настроить резервное копирование, мониторинг и оптимизацию под конкретную нагрузку. Для production-среды обязательно изучи настройку репликации и failover-механизмов.

Поделиться:
Сохранить гайд? В закладки браузера