Гид по технологиям

Установка и базовое управление PostgreSQL на Ubuntu

6 min read Базы данных Обновлено 08 Jan 2026
Установка PostgreSQL на Ubuntu — быстро и безопасно
Установка PostgreSQL на Ubuntu — быстро и безопасно

О чём эта статья

Эта статья объясняет, что такое PostgreSQL и как пошагово установить его на Ubuntu, проверить работу, подключиться к серверу, управлять пользователями и базами данных, а также рекомендует инструменты для удобного администрирования.

Что такое PostgreSQL

PostgreSQL — это свободная объектно-реляционная система управления базами данных (СУБД) с поддержкой SQL. Она подходит для проектов, где важны целостность данных, расширяемость и возможность писать расширения на разных языках. Кратко: надежная СУБД для производства и разработки.

Важно: в Ubuntu пакеты PostgreSQL могут иметь номер версии в пути конфигурации (например, 12). Используйте вашу реальную версию в командах и путях.

Совместимые версии Ubuntu

Статья ориентирована на Ubuntu (включая 21.04 и близкие выпуски). Команды apt корректно работают на большинстве современных LTS- и non-LTS-веток, но названия пакетов и версии конфигурации могут отличаться.

Шаг 1. Установка PostgreSQL на Ubuntu

Некоторые пакеты PostgreSQL уже есть в стандартном репозитории Ubuntu. Установите сервер и дополнительные модули командой:

sudo apt install postgresql postgresql-contrib

Этот пакет установит сервер, системные юниты и стандартные утилиты.

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

Найдите конфигурационные файлы, чтобы убедиться, что пакеты установлены:

ls /etc/postgresql/12/main/

Здесь число 12 означает версию PostgreSQL. У вас может быть другая версия — подставьте её.

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

После установки проверьте, запущен ли сервер:

service postgresql status

Если вывод показывает статус active, сервис работает. Если status показывает inactive или failed, запустите:

service postgresql start

Также доступны команды: stop, restart, reload, force-reload.

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

Шаг 2. Вход как суперпользователь PostgreSQL

PostgreSQL создаёт системного пользователя и роль базы данных с именем postgres. Для выполнения административных действий переключитесь на этого Unix-пользователя.

Открытие psql от имени postgres

sudo -u postgres psql

Вы попадёте в интерактивную консоль psql. Установите пароль для роли postgres:

ALTER USER postgres PASSWORD 'newpassword';

Замените newpassword на надёжный пароль. Выйдите из интерактива командой:

\q

Подключение из-под обычного пользователя к локальному серверу:

psql -U postgres -h localhost

Вас попросят ввести установленный пароль.

Вход в PostgreSQL через psql

Шаг 3. Подключение к серверу PostgreSQL на уровне системы

Если нужно работать под системным аккаунтом postgres (например, для запуска psql без пароля), выполните:

sudo su postgres

Подсказка оболочки изменится — обычно вы увидите что-то вроде:

postgres@ubuntu: /home/user$

Это значит, что вы работаете от имени Unix-пользователя postgres.

Управление пользователями PostgreSQL

После подключения в psql можно создавать роли, назначать права и удалять пользователей.

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

CREATE USER user1 WITH PASSWORD 'test123';

Замените user1 и test123 на нужные имя и пароль. Посмотреть список ролей можно командой:

\du

Добавление нового пользователя PostgreSQL

В выводе у нового пользователя изначально нет привилегий.

Выдача привилегий суперпользователя

ALTER USER user1 WITH SUPERUSER;

Команда превратит роль в суперпользователя. После этого проверьте наличие флажка Superuser в выводе \du.

Важно: старайтесь реже давать SUPERUSER и использовать ролям минимально необходимые права.

Удаление пользователя

DROP USER user1;

Если пользователь владеет объектами (базы/схемы), сначала переместите владение или удалите объекты, иначе DROP вернёт ошибку.

Управление базами данных

PostgreSQL предоставляет простые команды создания и удаления баз.

Создание базы данных

CREATE DATABASE db1;

Проверьте список баз командой:

\l

Список баз данных PostgreSQL

Удаление базы данных

DROP DATABASE db1;

Если в базе есть активные подключения, DROP завершится с ошибкой; завершите сеансы или используйте блокирующие механизмы аккуратно.

Выдача доступа к базе

GRANT ALL PRIVILEGES ON DATABASE db1 TO user1;

Этот пример даёт все привилегии на указанную базу. Для finer-grained контроля используйте GRANT SELECT/INSERT/UPDATE/DELETE на уровне схем и таблиц.

Помощь в командной строке

Полная справка по утилите psql доступна через man:

man psql

Внутри psql используйте:\h для справки по SQL-командам и \? для списка внутренних команд psql.

Рекомендуем: установить pgAdmin

pgAdmin — удобная графическая панель для управления серверами PostgreSQL. Она помогает управлять ролями, базами, бэкапами и просмотром запросов.

Добавьте официальный репозиторий pgAdmin и его ключ:

curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add  
sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

Установка десктоп-версии:

sudo apt install pgadmin4-desktop

Установка веб-версии:

sudo apt install pgadmin4-web

Настройка веб-режима (один раз):

sudo /usr/pgadmin4/bin/setup-web.sh

Установка pgAdmin на Ubuntu

Базовые меры безопасности и конфигурации

  • Измените пароль для роли postgres сразу после установки.
  • Проверьте файл pg_hba.conf, обычно в /etc/postgresql/<версия>/main/pg_hba.conf, и настройте метод аутентификации (peer, md5, scram-sha-256).
  • Ограничьте доступ по сети: в файле postgresql.conf настройте listen_addresses (по умолчанию localhost).
  • Для шифрования на транспортном уровне используйте SSL, но настройка требует сертификатов и дополнительных шагов.

Важно: не давайте SUPERUSER приложениям или сервисам — создайте роль с ограниченными правами.

Резервное копирование и восстановление (кратко)

  • Для логических бэкапов используйте pg_dump и pg_dumpall.
  • Для быстрых снимков используйте pg_basebackup (файловый бэкап), если нужно восстановление на уровне кластера.

Пример простой команды:

pg_dump -U user1 -F c -b -v -f db1.backup db1

Диагностика и отладка — частые проблемы и решения

  • Сервис не стартует: смотрите логи в /var/log/postgresql/ или journalctl -u postgresql.
  • Не удаётся подключиться: проверьте listen_addresses, pg_hba.conf и брандмауэр (ufw, iptables).
  • DROP DATABASE не проходит: проверьте активные подключения и завершите их.

Мини-методология развертывания PostgreSQL (шаги)

  1. Подготовка: обновите apt и определите версию PostgreSQL.
  2. Установка: sudo apt install postgresql postgresql-contrib.
  3. Первичный вход: sudo -u postgres psql — смените пароль.
  4. Настройка доступа: проверьте pg_hba.conf и listen_addresses.
  5. Создание ролей/баз: создайте роли с минимальными правами и базы данных.
  6. Наблюдение: настройте мониторинг и бэкапы.
  7. Документирование: зафиксируйте пароли, политики доступа и процедуры восстановления.

Пошаговый чеклист по ролям

  • Для администратора Linux/DevOps:

    • Установить пакеты, настроить systemd и бэкапы.
    • Ограничить сетевой доступ и настроить мониторинг.
  • Для DBA:

    • Создать роли, назначить привилегии, настроить бэкапы и проверку целостности.
    • Планировать индексацию и обслуживание (VACUUM, ANALYZE).
  • Для разработчика:

    • Настроить локальное подключение, создать тестовую базу.
    • Проверить миграции и права доступа приложения.

Критерии приёмки

  • Сервис PostgreSQL в состоянии active (service postgresql status).
  • Установлен и проверен пароль роли postgres.
  • Можно подключиться через psql и выполнить CREATE DATABASE и CREATE USER.
  • Настроены базовые правила доступа в pg_hba.conf и listen_addresses.

Когда этот подход не подходит (ограничения)

  • Если нужен документно-ориентированный хранилище — лучше NoSQL (например, MongoDB).
  • Для очень простых проектов SQLite может быть проще и легче поддерживать.
  • Если требуется горизонтальная масштабируемость на уровне записи «из коробки», возможно, стоит рассмотреть специализированные распределённые СУБД.

Краткая таблица сравнения вариантов администрирования

  • Командная строка (psql): гибко, подходит для автоматизации.
  • pgAdmin GUI: удобно для визуального управления, бэкапов и мониторинга.
  • CI/CD и миграции (например, Flyway, Liquibase): подходят для управления схемой в командах разработки.

1‑строчный глоссарий

  • Роль — аккаунт PostgreSQL, используемый для аутентификации и авторизации.
  • База — отдельное пространство данных, содержащее схемы и таблицы.
  • pg_hba.conf — файл контроля доступа к соединениям.
  • psql — интерактивная консоль PostgreSQL.

Короткое руководство на одну страницу (SOP)

  1. sudo apt update && sudo apt install postgresql postgresql-contrib
  2. service postgresql status — проверить
  3. sudo -u postgres psql; ALTER USER postgres PASSWORD ‘…’; \q
  4. Создать роли/базы: CREATE USER …; CREATE DATABASE …;
  5. Настроить pg_hba.conf и postgresql.conf; reload или restart
  6. Настроить регулярные бэкапы и мониторинг

Пример дерева принятия решения для pgAdmin

flowchart TD
  A[Нужен GUI для управления?] -->|Да| B[Установить pgAdmin]
  A -->|Нет| C[Оставаться с psql и автоматизацией]
  B --> D{Веб или Desktop}
  D -->|Веб| E[Установить pgadmin4-web и запустить setup-web.sh]
  D -->|Desktop| F[Установить pgadmin4-desktop]

Короткое резюме

PostgreSQL — мощная и гибкая СУБД. На Ubuntu её легко установить через apt. После установки важно сменить пароль роли postgres, настроить доступы в pg_hba.conf и предусмотреть бэкапы. Для удобства администрирования используйте pgAdmin или набор автоматизированных инструментов.

Важно: регулярно тестируйте процедуры восстановления из бэкапов и обновляйте конфигурации безопасности.

Источники и ссылки: официальная документация PostgreSQL и страницы pgAdmin для загрузки и инструкций.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство