Где используем PostgreSQL
- Транзакционные системы — финтех, e-commerce, медицина, корпоративные сервисы
- Аналитические нагрузки до 10 ТБ — TimescaleDB и Citus для шардирования
- Векторные базы для AI/ML — pgvector для RAG-систем
- Геопространственные данные — PostGIS для логистики и навигации
- Замена MS SQL / Oracle в проектах импортозамещения
Что делаем
- Проектирование схем — нормализация, индексы, partitioning, наследование
- Оптимизация запросов — анализ EXPLAIN, переписывание медленных join’ов, материализованные представления
- Высокая доступность — Patroni + etcd, streaming replication, pg_auto_failover
- Шардирование — Citus или собственная логика partition key
- Миграции — без даунтайма через дублированную запись, blue/green
- Бэкапы — pgBackRest, WAL-G в S3, регулярные тесты восстановления
- Tuning — настройка под конкретный workload (OLTP vs OLAP)
Postgres Pro — для импортозамещения
Для заказчиков из госсектора и КИИ используем Postgres Pro Standard / Enterprise:
- Сертификат ФСТЭК (4 уровень доверия)
- Реестровое российское ПО — даёт льготы клиенту
- Форк PostgreSQL с дополнительными функциями (мультимастер, расширенный аудит, autonomous transactions)
Стек обвязки
- ORM: Prisma, Drizzle, SQLAlchemy, GORM, ent
- Миграции: Atlas, Liquibase, Flyway, golang-migrate
- Pooling: PgBouncer, Odyssey
- Мониторинг: pgwatch2, pganalyze, custom Grafana-дашборды
- Расширения: pgvector, PostGIS, TimescaleDB, pg_stat_statements
Что важно учесть
- Connection pooling — обязательно. Без него Postgres ложится на 100 active connections
- VACUUM и autovacuum — настраиваем под нагрузку, иначе IDLE дисковое раздувание
- HOT updates и fillfactor — критичны для UPDATE-нагрузок
- Index bloat — REINDEX CONCURRENTLY раз в квартал на growing tables