Найти в Дзене
WebHOST1.ru

Полное руководство по установке и настройке PostgreSQL на Ubuntu 22.04

Оглавление

Мы подготовили подробную инструкцию по инсталляции PostgreSQL на Ubuntu 22.04, включая три популярных способа: через стандартные репозитории системы, официальный источник разработчиков и контейнеризацию с использованием Docker. В процессе вы научитесь подключать современные методы аутентификации, создавать пользователей и базы данных, активировать расширения и настраивать доступ из сети.

Почему стоит выбрать PostgreSQL?

PostgreSQL — это универсальная и надёжная СУБД, подходящая для любого проекта: от веб-приложений с высокой нагрузкой до аналитических и геоинформационных решений. Она обеспечивает надёжность транзакций даже при интенсивной работе, поддерживает сложные типы данных (например, JSONB и геообъекты через PostGIS), гибко настраивается под конкретные задачи и, что важно, полностью бесплатна и с открытым исходным кодом. Всё это делает её востребованной среди разработчиков, DevOps-специалистов и системных администраторов.

В этой статье мы рассмотрим все шаги установки PostgreSQL на Ubuntu 22.04 (включая VPS), дадим рекомендации по настройке производительности и укажем на распространённые ошибки, которых стоит избегать.

Также вы узнаете:

  • Как настроить безопасную аутентификацию через scram-sha-256;
  • Как разрешить удалённый доступ, не жертвуя безопасностью;
  • Как подключать расширения и модули;
  • Как оптимизировать индексы и работу с кешем.

Способы установки PostgreSQL на Ubuntu 22.04

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

1. Установка из стандартного репозитория Ubuntu (простой способ)

Подходит, если не требуется самая последняя версия:

sudo apt update && sudo apt upgrade -y sudo apt install postgresql postgresql-contrib -y

Что делают эти команды:

  • sudo apt update — обновляет информацию о доступных пакетах;
  • sudo apt upgrade -y — устанавливает последние версии уже установленных пакетов;
  • postgresql — основной сервер СУБД;
  • postgresql-contrib — дополнительные модули, такие как pgcrypto и uuid-ossp.

Плюсы: быстро, интеграция с systemd. Минус: версия PostgreSQL может быть не самой новой (например, 14-я на Ubuntu 22.04).

2. Установка из официального репозитория PostgreSQL (новейшие версии)

Если вам необходима актуальная версия, например PostgreSQL 16 или 17:

Шаг 1. Добавляем репозиторий:

sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc sudo apt update

Шаг 2. Установка PostgreSQL:

sudo apt install postgresql-16 postgresql-client-16 postgresql-contrib -y

Дополнительно:

sudo apt install postgresql-16-postgis-3

3. Установка через Docker (изолированное окружение)

docker run --name postgres-16 \ -e POSTGRES_USER=admin \ -e POSTGRES_PASSWORD=Secret123! \ -e POSTGRES_DB=mydb \ -p 5432:5432 \ -v /path/to/data:/var/lib/postgresql/data \ -d postgres:16

Пояснение параметров:

  • --name — имя контейнера;
  • -e — переменные окружения;
  • -p — проброс портов;
  • -v — монтирование тома;
  • -d — фоновый режим.

Плюсы: контейнер изолирован от основной системы. Минусы: требуется настраивать бэкапы отдельно.

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

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

sudo systemctl status postgresql

Если видите Active: active (running) — всё работает. Если нет — проверьте журналы:

sudo journalctl -u postgresql@16-main -xe

Первичная настройка PostgreSQL: пользователи, безопасность, производительность

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

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

Сначала подключитесь под системным пользователем postgres:

sudo -u postgres psql

Внутри psql выполните:

CREATE USER myuser WITH PASSWORD 'СложныйПароль!123' VALID UNTIL '2026-01-01'; CREATE DATABASE mydb OWNER myuser ENCODING 'UTF8' LC_COLLATE 'ru_RU.UTF-8'; \connect mydb

Важно: с PostgreSQL 16+ по умолчанию используется scram-sha-256 — безопаснее, чем MD5. Пароль должен быть сложным: цифры, буквы, символы.

Настройка pg_hba.conf (контроль доступа)

Файл pg_hba.conf определяет, кто и как может подключаться к СУБД. Пример пути к файлу:

/etc/postgresql/16/main/pg_hba.conf

Откройте его:

sudo nano /etc/postgresql/16/main/pg_hba.conf

Добавьте правила доступа:

# TYPE DATABASE USER ADDRESS METHOD local all postgres peer hostssl mydb myuser 192.168.1.0/24 scram-sha-256

Расшифровка:

  • local — соединение через сокет;
  • peer — аутентификация через системного пользователя;
  • hostssl — доступ только по SSL;
  • 192.168.1.0/24 — доверенный IP-диапазон;
  • scram-sha-256 — безопасная схема аутентификации.

Заключение

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