Обзор Postgres Pro репозитория: как использовать, что содержит, зачем нужен
Postgres Pro репозиторий — это набор официальных хранилищ пакетов, предоставляемых компанией Postgres Professional для установки, обновления и поддержки различных редакций СУБД Postgres Pro и сопутствующих инструментов.
С его помощью пользователи получают доступ к:
- стабильным версиям СУБД;
- дополнительным модулям (расширения, утилиты, мониторинг);
- обновлениям безопасности;
- сертифицированным пакетам (для Enterprise/Certified).
Виды репозиториев
Postgres Pro поддерживает несколько отдельных веток:
|
Репозиторий |
Назначение |
|---|---|
|
standard |
Редакция Postgres Pro Standard (для разработки и бизнеса) |
|
enterprise |
Расширенная версия для высоконагруженных систем |
|
certified |
ФСТЭК-сертифицированные сборки |
|
beta, testing, old |
Тестовые и устаревшие версии |
Пример ссылки:
https://repo.postgrespro.ru/standard/deb/
https://repo.postgrespro.ru/enterprise/rpm/
Структура внутри
Репозитории развернуты для разных ОС:
|
Поддерживаемые ОС |
Поддержка через |
|---|---|
|
Debian / Ubuntu |
APT (.deb) |
|
RHEL / CentOS / Astra Linux |
YUM/DNF (.rpm) |
|
Альт Linux, Rosa, ALT Sisyphus |
через .rpm |
Как подключить репозиторий
Debian / Ubuntu
wget https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO -O- | sudo apt-key add - echo "deb https://repo.postgrespro.ru/standard/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/postgrespro.list sudo apt update
RHEL / CentOS / Astra
sudo rpm -Uvh https://repo.postgrespro.ru/standard/keys/postgrespro-repo.rpm
Какие пакеты доступны
Базовые пакеты:
- postgrespro-std-XX — сама СУБД (например, postgrespro-std-14)
- postgrespro-std-XX-contrib — дополнительные расширения
- postgrespro-std-XX-pgprobackup — резервное копирование
- postgrespro-std-XX-pgprostat — мониторинг
- postgrespro-std-XX-pgaudit — аудит активности
- postgrespro-std-XX-pwr — профилирование запросов
Также есть -dbg и -devel пакеты.
Обновление и поддержка
- Поддержка обновлений версии до EOL (обычно 5–7 лет)
- Обновления безопасности
- Регулярный выпуск патчей
- Для Enterprise и Certified — доступ только по лицензии
Использование в CI/CD
Репозиторий Postgres Pro можно использовать в:
- CI-пайплайнах (GitLab, Jenkins, GitHub Actions)
- автоматической установке через Ansible
- Docker-образах (можно базировать на пакеты из репо)
Безопасность
- Все пакеты подписаны GPG-ключом (обязательно добавлять ключ в систему).
- Доступ возможен только по HTTPS.
- Сертифицированные репозитории доступны только для авторизованных клиентов.
Альтернативы
|
Источник |
Отличие |
|---|---|
|
apt.postgresql.org |
Только vanilla PostgreSQL |
|
yum.postgresql.org |
Без патчей от Postgres Professional |
|
Сборки от ОС (Astra) |
Могут быть устаревшими |
Заключение
Репозиторий Postgres Pro — ключевой инструмент для установки, поддержки и развития промышленной версии PostgreSQL в корпоративной среде. Он:
- содержит всё необходимое для развёртывания СУБД;
- стабилен, регулярно обновляется;
- поддерживает широкую линейку ОС;
- включает расширения для аудита, мониторинга, резервного копирования и безопасности.
Построение CI/CD-процесса с использованием Postgres Pro
Зачем настраивать CI/CD для работы с Postgres Pro
Для аналитических платформ, корпоративных информационных систем и BI-решений на базе Postgres Pro, автоматизация процессов разработки и сопровождения базы данных повышает:
- стабильность,
- воспроизводимость,
- скорость развертывания и изменений.
Цели:
- миграции и изменения схемы БД через Git;
- прогон тестов на миграции и данные;
- создание тестовых сред на fly;
- деплой ETL/BI-слоёв (dbt, Airflow) после успешной проверки схемы.
Особенности Postgres Pro в CI/CD
|
Особенность Postgres Pro |
Поддержка в CI/CD |
|---|---|
|
Расширения (pgprobackup, pgaudit) |
Требует pre-install в окружении |
|
Несовпадение версий с PostgreSQL |
Использовать официальные пакеты или Docker |
|
Права для миграций и мониторинга |
Использовать миграционного пользователя |
Подходы к запуску Postgres Pro в пайплайне
1. Использование Docker
Официальный Docker-образ от Postgres Professional:
docker pull postgrespro/postgrespro-std:14
Пример docker-compose.yml:
version: '3'
services:
pgpro:
image: postgrespro/postgrespro-std:14
ports:
- "5432:5432"
environment:
POSTGRES_USER: test_user
POSTGRES_PASSWORD: secret
POSTGRES_DB: test_db
volumes:
- ./init:/docker-entrypoint-initdb.d
В каталог init/ можно положить SQL-скрипты, которые применятся при старте контейнера.
Типовая архитектура CI/CD-процесса
[Git Push] ─▶ [GitLab CI / GitHub Actions / Jenkins]
├── build test env (docker)
├── apply schema migration (e.g. Flyway/dbmate/dbt)
├── run integration & regression tests
├── validate schema, permissions, data
└── deploy to stage/prod (manual approval)
Работа со схемами и миграциями
Используемые инструменты:
|
Инструмент |
Назначение |
|---|---|
|
Flyway |
Миграции схем в versioned стиле |
|
Liquibase |
XML/YAML-описание изменений |
|
dbt |
DWH и BI-слой на SQL + Jinja |
|
sqlfluff |
SQL-линтер и проверка качества |
Пример flyway.conf:
flyway.url=jdbc:postgresql://localhost:5432/test_db flyway.user=test_user flyway.password=secret flyway.locations=filesystem:./sql
Пример в .gitlab-ci.yml:
migrate_schema:
image: flyway/flyway
script:
- flyway -configFiles=flyway.conf migrate
Интеграционные тесты
Инструменты: pytest + psycopg2, pgTAP, great_expectations, dbt test.
Пример: pytest + psycopg2:
import psycopg2
def test_table_exists():
with psycopg2.connect(...) as conn:
with conn.cursor() as cur:
cur.execute("SELECT to_regclass('public.sales');")
assert cur.fetchone()[0] == 'sales'
Настройка доступа и пользователей
Создайте отдельного пользователя ci_runner с нужными правами:
CREATE ROLE ci_runner LOGIN PASSWORD 'cicd123'; GRANT CONNECT ON DATABASE test_db TO ci_runner; GRANT USAGE ON SCHEMA public TO ci_runner; GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO ci_runner;
Автоматизация бэкапов и откатов
С использованием pg_probackup:
pg_probackup init -B /var/lib/pgprobackup pg_probackup add-instance -B /var/lib/pgprobackup -D /var/lib/pgpro/data --instance ci pg_probackup backup -B /var/lib/pgprobackup --instance ci -j 4 --backup-mode=full
Можно встроить в CI:
backup_db:
image: pgpro/pg_probackup
script:
- pg_probackup backup --instance ci --backup-mode=full
Использование Postgres Pro пакетов в окружении CI
Вместо docker-образа можно установить официальные .deb или .rpm пакеты в CI runner'е:
Пример для Ubuntu runner:
wget https://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO -O- | sudo apt-key add - echo "deb https://repo.postgrespro.ru/standard/deb focal main" | sudo tee /etc/apt/sources.list.d/postgrespro.list sudo apt update sudo apt install postgrespro-std-14
Что можно валидировать в CI
|
Тип проверки |
Инструмент |
|---|---|
|
SQL-синтаксис |
sqlfluff, psql -f |
|
Согласованность схем |
Flyway validate, Liquibase diff |
|
Бизнес-правила на данные |
great_expectations, dbt tests |
|
Скорость запросов |
EXPLAIN ANALYZE, pwr |
|
Роли и права |
скрипты проверок GRANT |
Оптимизация запросов в CI
- Добавить EXPLAIN в ETL-скрипты и анализировать время.
- Использовать pg_stat_statements внутри тестового контейнера.
- Включить auto_explain для логов в CI.
Заключение
Postgres Pro легко интегрируется в CI/CD-пайплайн. Особенно в проектах, где:
- нужен строгий контроль версий схем;
- важно заранее отловить ошибки миграций и запросов;
- нужно тестировать расширения Postgres Pro (например, pgprobackup, pgaudit).
Postgres Professional — это российская промышленная СУБД, созданная на базе открытого PostgreSQL, но значительно расширенная для корпоративного применения. В отличие от классического PostgreSQL, решения от Postgres Professional включают в себя поддержку российских ГОСТов и сертификацию ФСТЭК, повышенную надёжность, оптимизации под высоконагруженные системы (в том числе 1С и DWH), инструменты резервного копирования, мониторинга и отказоустойчивости. За платформой стоит команда ядра PostgreSQL в России, что гарантирует актуальность, стабильность и экспертную техническую поддержку 24/7.
Для компаний, которым важно не просто использовать PostgreSQL, а внедрить его на уровне корпоративных стандартов — с гарантией, сопровождением, документированными улучшениями и адаптацией под российское законодательство — Postgres Pro Enterprise становится логичным выбором. Это не просто бесплатная база данных, а полноценный продуктовый стек, совместимый с BI, аналитикой, ERP, 1С и другими системами, в том числе импортозамещёнными.



