Установка PostgreSQL на свой сервер или в облаке: коротко и с данными

Конспект страницы: 7 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка PostgreSQL на свой сервер или в облаке.

Коротко

Главная / Разработка / PostgreSQL Установка PostgreSQL на свой сервер занимает несколько минут: пакет из репозитория Ubuntu или официальный образ Docker, порт 5432 и пароль для пользователя базы. Сложнее потом: настроить память, закрыть базу от интернета и наладить копии. Если обслуживать базу некому, возьмите управляемую: обновления и копии тогда на провайдере.

Конспект по разделам

Где запускать PostgreSQL: свой VPS или управляемая база

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

Установка PostgreSQL на Ubuntu из репозитория

Файлы настроек в Ubuntu и Debian лежат в /etc/postgresql/<версия>/main/: основной postgresql.conf и правила доступа pg_hba.conf. Версия в репозитории дистрибутива может отставать; свежую берут из репозитория PGDG, подключить его помогает скрипт apt.postgresql.org.sh из пакета postgresql-common. Для векторного поиска понадобится расширение: pgvector в PostgreSQL.

PostgreSQL в Docker: compose-файл и том данных

Образ postgres требует одну переменную, POSTGRES_PASSWORD. Начиная с 18 версии образ хранит данные в каталоге, привязанном к номеру версии, поэтому том подключают к /var/lib/postgresql, а не к /var/lib/postgresql/data, как в старых инструкциях. В файле.env одна строка POSTGRES_PASSWORD=....

Сколько памяти нужно PostgreSQL и что в ней менять

Для старта хватит 1-2 ядер и 2 ГБ памяти, дальше размер определяют данные, а не число пользователей. Из коробки PostgreSQL осторожен: shared_buffers, общий кэш страниц, равен всего 128 МБ. Документация советует для выделенного сервера с 1 ГБ и больше начинать с 25% памяти.

Как открыть PostgreSQL по сети и не открыть его всем

По умолчанию PostgreSQL слушает только локальный адрес. Пока приложение стоит на том же сервере, ничего менять не нужно. Для доступа с другой машины сначала подумайте о SSH-туннеле: ssh -L 5432:127.0.0.1:5432 user@IP-сервера даёт локальный порт без правки конфигурации.

Резервные копии PostgreSQL: pg_dump и автокопии базы

Логическая копия делается командой pg_dump -Fc appdb > appdb.dump, а восстанавливается через pg_restore -d appdb appdb.dump. Формат -Fc сжат и позволяет вернуть отдельную таблицу. Запустите команду из cron и отправляйте файл за пределы сервера: копия на том же диске не спасёт от потери самого диска.

Отдайте базу данных провайдеру

Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.

Данные

МаршрутЧто делаете выЦена на 14 октября 2026
Свой VPS, пакеты или DockerСтавите, настраиваете память, обновляете версии, проверяете копии, закрываете портСервер от 1 920 ₽ в месяц, база делит его с остальным
Управляемая PostgreSQL в Таймвеб КлаудСоздаёте базу и берёте строку подключенияОт 790 ₽ в месяц, автокопии 6 ₽ за ГБ в месяц, публичный IP 200 ₽

Данные на 14 октября 2026. Цены приведены для ознакомления и могут отличаться от актуальных. Перед покупкой проверяйте их на сайте провайдера.

Вопросы и ответы

Как развернуть PostgreSQL в Docker и не потерять данные?

Подключите именованный том к /var/lib/postgresql (для версии 18 и новее) и зафиксируйте основную версию в теге образа. Тогда пересоздание контейнера не затронет данные, а случайный переход на новую версию не сломает запуск.

Как узнать версию PostgreSQL на сервере?

Выполните sudo -u postgres psql -c "SELECT version();". Команда psql --version покажет только версию клиента, она может отличаться от версии сервера.

Можно ли запустить два PostgreSQL на одном сервере?

Да. В Debian и Ubuntu второй кластер создаёт pg_createcluster с другим портом, например 5433. В Docker запускают два контейнера с разными томами и разными внешними портами.

Какой PostgreSQL ставить для 1С?

1С работает с PostgreSQL в сборках от самой 1С и от Postgres Pro, поэтому пакеты из репозитория дистрибутива для неё не берут. Версию подбирают по таблице совместимости вашей платформы.