Главная/Разработка/PostgreSQL

Установка PostgreSQL на свой сервер или в облаке

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

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Есть Linux-сервер и время на обслуживание: ставьте PostgreSQL из пакетов или Docker и держите порт 5432 закрытым. Некому обновлять и проверять копии: управляемая база стоит от 790 ₽ в месяц, а копии считаются отдельно, 6 ₽ за ГБ (цены на 14 октября 2026).

Провайдер ставит обновления и делает копии, вам остаётся строка подключения для приложения.

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

01 · 1 мин

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

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

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

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

02 · 1 мин

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

  1. Поставьте пакет. Он создаёт кластер, то есть набор баз под управлением одного процесса, и запускает службу.
  2. Создайте пользователя и базу под своё приложение: не работайте от имени postgres.
  3. Проверьте подключение через psql и убедитесь, что служба стартует после перезагрузки.
sudo apt update
sudo apt install -y postgresql
sudo -u postgres createuser --pwprompt app
sudo -u postgres createdb --owner=app appdb
psql -h 127.0.0.1 -U app appdb

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

03 · 1 мин

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

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

services:
  db:
    image: postgres:18
    restart: unless-stopped
    env_file: .env
    environment:
      POSTGRES_USER: app
      POSTGRES_DB: appdb
    volumes:
      - pgdata:/var/lib/postgresql
    ports:
      - "127.0.0.1:5432:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U app -d appdb"]
      interval: 10s
volumes:
  pgdata:

В файле .env одна строка POSTGRES_PASSWORD=.... Адрес 127.0.0.1 перед портом не даёт Docker открыть базу всему интернету. Образ не обновляет данные при смене основной версии: заменить postgres:17 на postgres:18 нельзя, нужны дамп и восстановление или pg_upgrade.

Инструмент · 1 мин

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

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

  • shared_buffers: 25% памяти на сервере, где живёт только база. Если рядом работает приложение, берите меньше.
  • work_mem: память на одну сортировку или соединение таблиц внутри запроса. Запрос с несколькими такими шагами берёт её несколько раз, поэтому не поднимайте значение до сотен мегабайт при сотне подключений.
  • max_connections: по умолчанию 100. Приложениям с большим числом воркеров ставят пул соединений, а не растят лимит.

Какой сервер взять под PostgreSQL

Четыре ответа про данные и нагрузку, калькулятор подберёт конфигурацию

Сколько данных будет в базе
Сколько приложений и подключений одновременно
Какие запросы идут к базе
Где живёт приложение

05 · 1 мин

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

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

Если нужен прямой доступ, меняются три вещи:

  1. listen_addresses в postgresql.conf: добавьте внутренний адрес сервера.
  2. pg_hba.conf: строка вида host appdb app 203.0.113.10/32 scram-sha-256 пускает одного пользователя с одного адреса.
  3. Файрвол: ufw allow from 203.0.113.10 to any port 5432 proto tcp. Порт для всех остальных остаётся закрытым.

Для контейнера правило ufw не поможет: Docker публикует порты в обход него, поэтому привязка 127.0.0.1:5432 в compose-файле обязательна. Если приложение стоит на другой машине того же провайдера, подключайтесь по внутреннему адресу: трафик в приватной сети бесплатный.

06 · 1 мин

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

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

У управляемой базы автоматические копии включаются при создании и считаются по объёму: 6 ₽ в месяц за каждый ГБ. Своя схема хранения и проверки восстановления описана на странице сервер для бэкапов.

Копия, которую ни разу не восстанавливали, не копия

Раз в квартал разворачивайте дамп на тестовой машине и проверяйте, что таблицы приложения на месте.

07 · 1 мин

Вопросы об установке PostgreSQL#

Как развернуть 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, поэтому пакеты из репозитория дистрибутива для неё не берут. Версию подбирают по таблице совместимости вашей платформы.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; Docker Official Images: образ postgres, переменные и том данных, github.com/docker-library/docs/tree/master/postgres, проверено 15 октября 2026; endoflife.date: сроки поддержки PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, ClickHouse, Kafka, RabbitMQ, Magento, Joomla, PHP, endoflife.date, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

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

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

  • PostgreSQL, MySQL, MongoDB от 790 ₽
  • Valkey (совместим с Redis) от 670 ₽
  • Kafka, RabbitMQ, ClickHouse, OpenSearch
  • Автобэкапы 6 ₽ в месяц за ГБ
Память