Установка PostgreSQL 9.5 на Ubuntu
Введение
PostgreSQL — это реляционная СУБД с полной поддержкой ACID, расширяемая и предназначенная для корпоративного использования. Поддерживает хранимые процедуры на разных языках (PL/pgSQL, Python, Java, C/C++, Ruby, Perl). PL/pgSQL по синтаксису похож на PL/SQL в Oracle. Postgres работает на Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) и Windows.
В этом руководстве показана установка PostgreSQL 9.5 на Ubuntu с использованием официального репозитория postgresql.org (PGDG). Такой способ упрощает получение обновлений и патчей от поставщика. Инструкции проверялись на Ubuntu 12.04–15.10, но подойдут и для похожих версий с учётом возможных отличий в пакетах и названиях релизов.
Важно: если вы используете современную версию Ubuntu, рассмотрите установку актуальной версии PostgreSQL из PGDG или контейнеризацию (Docker) для изоляции окружения.
Добавление репозитория PostgreSQL (PGDG)
Дополнительный репозиторий Ubuntu можно добавить, дописав строку в /etc/apt/sources.list или создав новый файл в /etc/apt/sources.list.d/. Мы используем второй вариант — он чище и удобнее для управления.
Выполните команду, которая создаст файл конфигурации репозитория:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'Затем импортируйте GPG-ключ репозитория, чтобы apt мог проверять подлинность пакетов:
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
Обновление списка пакетов
После добавления репозитория обновите список доступных пакетов, чтобы apt увидел пакеты из PGDG:
sudo apt-get update
Установка PostgreSQL
Установите PostgreSQL и дополнительные общие расширения командой:
sudo apt-get install postgresql postgresql-contribПакет postgresql-contrib содержит полезные расширения и утилиты.


Подключение к серверу PostgreSQL
После установки система создаст системного пользователя Linux и роль в базе данных с именем postgres. Этот пользователь имеет административные права в БД. Чтобы подключиться к серверу, переключитесь на пользователя postgres и запустите psql.
Станьте пользователем postgres:
sudo su - postgresЗапустите интерактивную оболочку psql:
psql
Проверьте информацию о соединении и версию сервера из подсказки psql:
postgres-# \conninfo
Отключение от PostgreSQL и возврат к обычному пользователю
Чтобы выйти из psql, используйте команду:
postgres-# \qТеперь вы вернётесь в оболочку Linux, но всё ещё как пользователь postgres. Чтобы вернуться к вашему обычному пользователю, введите:
exit
Критерии приёмки
- Команда apt-get install завершилась без ошибок.
- Служба PostgreSQL запущена (systemctl status postgresql или service postgresql status).
- Подключение через psql под пользователем postgres успешно (psql выводит приглашение).
- \conninfo показывает корректное подключение и версию сервера.
Быстрая проверка статуса службы
Проверьте статус службы PostgreSQL:
sudo systemctl status postgresqlЕсли systemctl отсутствует (старые релизы Ubuntu), используйте:
sudo service postgresql statusОтладка и распространённые проблемы
Важно: чаще всего ошибки связаны с несовпадением версий репозитория и дистрибутива (lsb_release -cs), отсутствием ключа GPG или конфликтами портов.
Проблема: apt не находит пакет postgresql
- Убедитесь, что строка репозитория содержит правильное имя кода релиза (lsb_release -cs).
- Повторите sudo apt-get update.
Проблема: служба не запускается
- Посмотрите логи: sudo journalctl -u postgresql или /var/log/postgresql/postgresql-9.5-main.log.
- Проверьте права на каталоги данных (/var/lib/postgresql/9.5/main) и свободное место.
Проблема: не удаётся подключиться по TCP
- Проверьте файлы конфигурации: /etc/postgresql/9.5/main/postgresql.conf (listen_addresses) и /etc/postgresql/9.5/main/pg_hba.conf (правила доступа).
- Перезапустите службу после правок: sudo systemctl restart postgresql.
Альтернативные подходы
- Установка из пакета Ubuntu (apt-get install postgresql) — проще, но версия может быть устаревшей.
- Установка из исходников — даёт контроль над опциями, но требует больше шагов и зависимостей.
- Контейнеризация (Docker) — рекомендована для разработки и изоляции версий: образ postgres:9.5 позволяет быстро поднять инстанс.
Пример команды Docker (быстрое тестовое окружение):
docker run --name pg95 -e POSTGRES_PASSWORD=mysecret -d postgres:9.5Небольшой план отката / удаления
Если нужно полностью удалить установленный PostgreSQL 9.5:
sudo apt-get remove --purge postgresql postgresql-contrib
sudo rm -rf /var/lib/postgresql /etc/postgresql /var/log/postgresql
sudo apt-get autoremoveВажно: удаление удалит данные — предварительно сделайте бэкап каталога данных или дамп с помощью pg_dump.
Роли и чек-листы
Администратор (DBA):
- Проверить статус службы и логи.
- Настроить резервное копирование (pg_basebackup / pg_dump).
- Настроить мониторинг и обновления.
Разработчик:
- Подключиться через psql или pgAdmin.
- Проверить права доступа в pg_hba.conf.
- Тестировать миграции в изолированном окружении.
Операции (Ops):
- Автоматизировать обновления репозитория и бэкапы.
- Проверять диск, память и сетевые политики брандмауэра.
Безопасность и конфиденциальность
- По умолчанию PostgreSQL слушает локальный интерфейс. Если нужно открыть доступ извне — настройте pg_hba.conf и используйте TLS/SSL.
- Ограничьте логин по паролю и используйте сложные пароли для ролей с привилегиями.
- Для производственных систем настройте шифрование резервных копий и контроль доступа к файловой системе.
Примечание: если вы храните личные данные граждан ЕС, убедитесь, что ваши процедуры бэкапа и управления данными соответствуют требованиям GDPR.
Краткая справка (глоссарий)
- psql — интерактивная командная оболочка для PostgreSQL.
- pg_hba.conf — файл контроля доступа клиента к серверу.
- postgresql.conf — основной файл конфигурации сервера.
- PGDG — PostgreSQL Global Development Group, официальный репозиторий пакетов.
Резюме
Установка PostgreSQL 9.5 через официальный репозиторий PGDG на Ubuntu включает 4 шага: добавить репозиторий, импортировать GPG-ключ, обновить список пакетов и установить пакеты postgresql и postgresql-contrib. После установки переключитесь на системного пользователя postgres, запустите psql и проверьте соединение. Для производства дополнительно настройте бэкапы, мониторинг и безопасность.
Важно: для новых проектов рассмотрите использование более современных версий PostgreSQL или контейнеров для лучшей поддержки и безопасности.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента