Установка 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.
- Поставьте пакет.
- Создайте пользователя и базу под своё приложение: не работайте от имени postgres.
- Проверьте подключение через psql и убедитесь, что служба стартует после перезагрузки.
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% памяти.
- shared_buffers: 25% памяти на сервере, где живёт только база.
- work_mem: память на одну сортировку или соединение таблиц внутри запроса.
- max_connections: по умолчанию 100.
Как открыть PostgreSQL по сети и не открыть его всем
По умолчанию PostgreSQL слушает только локальный адрес. Пока приложение стоит на том же сервере, ничего менять не нужно. Для доступа с другой машины сначала подумайте о SSH-туннеле: ssh -L 5432:127.0.0.1:5432 user@IP-сервера даёт локальный порт без правки конфигурации.
- listen_addresses в postgresql.conf: добавьте внутренний адрес сервера.
- pg_hba.conf: строка вида host appdb app 203.0.113.10/32 scram-sha-256 пускает одного пользователя с одного адреса.
- Файрвол: ufw allow from 203.0.113.10 to any port 5432 proto tcp.
Резервные копии PostgreSQL: pg_dump и автокопии базы
Логическая копия делается командой pg_dump -Fc appdb > appdb.dump, а восстанавливается через pg_restore -d appdb appdb.dump. Формат -Fc сжат и позволяет вернуть отдельную таблицу. Запустите команду из cron и отправляйте файл за пределы сервера: копия на том же диске не спасёт от потери самого диска.
Отдайте базу данных провайдеру
Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.
- PostgreSQL, MySQL, MongoDB от 790 ₽
- Valkey (совместим с Redis) от 670 ₽
- Kafka, RabbitMQ, ClickHouse, OpenSearch
- Автобэкапы 6 ₽ в месяц за ГБ
Данные
| Маршрут | Что делаете вы | Цена на 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, поэтому пакеты из репозитория дистрибутива для неё не берут. Версию подбирают по таблице совместимости вашей платформы.