Установка на Linux
Тема дорожной карты · PostgreSQL
Наиболее надёжный способ установки PostgreSQL на Linux — использование официальных репозиториев apt или yum от PostgreSQL Global Development Group (PGDG), которые предоставляют актуальные пакеты для всех поддерживаемых основных версий и позволяют избежать потенциально устаревших версий из стандартных репозиториев дистрибутива. На Debian/Ubuntu процедура включает добавление ключа подписи PGDG и списка источников, после чего выполняется apt install postgresql-16; по завершении сервис реляционной базы данных запускается автоматически и создаётся системный пользователь postgres. На системах RHEL/CentOS/Fedora аналогичные команды используют dnf install postgresql16-server, за которой следуют postgresql-16-setup initdb и systemctl enable --now postgresql-16 для инициализации каталога данных и запуска сервиса. После установки основные конфигурационные файлы — postgresql.conf для параметров сервера, таких как max_connections и shared_buffers, и pg_hba.conf для правил аутентификации клиентов — располагаются в /etc/postgresql/16/main/ (Debian) или /var/lib/pgsql/16/data/ (RHEL), а psql -U postgres является стандартной точкой входа для первоначального администрирования базы данных.
Как это работает
Установка на Linux делается через пакеты дистрибутива (apt/dnf), официальные PGDG-репо (свежие версии), Docker-образы (postgres:16-alpine для тестов) или managed cloud (Yandex Managed PostgreSQL, RDS). Ключевой конфиг — в postgresql.conf; правила client auth — в pg_hba.conf. Критичные параметры: shared_buffers (~25% RAM), effective_cache_size (~75%), work_mem (per-sort), maintenance_work_mem, max_connections. pgtune — для разумных дефолтов.
Когда применять
Официальные PGDG-репо в production вместо дистрибутивных — они поставляют актуальную major-версию. Postgres в Docker — только dev/test, никогда production-данные (volume-права + OOM-kill реальны); managed cloud или bare-metal с правильными бекапами — это production-уровень. Версия — в окне 5-летней поддержки.
Типичные ошибки
Ловушки Установка на Linux: дефолт max_connections=100 и "too many connections" — фикс это connection pool (PgBouncer), а не бездумное поднятие cap; рядом 16 + 13 бинари, не тот psql в PATH; дефолтный pg_hba.conf с peer auth путает новичков; не загружен pg_stat_statements с первого дня (потом не найти медленные запросы).