PgConf.Russia 2015 archive
Continuous delivery in Postgres centric solution

Иногда при проектировании высоконагруженных критически важных систем, ИТ архитекторы решают реализовывать часть бизнес-логики с помощью хранимых процедур (очевидные примеры: хранилище данных, финансовые системы). Такое решение может иметь множество достоинств и недостатков.
Одним из существенных недостатков, которые мы наблюдаем в нашей работе, является отсутствие общедоступной поддержки таких современных практик разработки программного обеспечения как непрерывная интеграция (continuous integration) и непрерывная доставка (continuous delivery).
Для процесса непрерывной интеграции были разработаны собственные инструменты компании, такие как:
- dpm (database package manager) - для развертывания версионированных postgres схем в базу данных (могут содержать функции, типы, триггеры, дополнительные данные и изменения в структуре таблиц). Пакет написан нами с использованием идей и наработок многих свободно распространяемых компонент (например, https://github.com/gilt/schema-evolution-manager или https://github.com/trustly/fdiff, или https://github.com/depesz/Versioning)
- pg_ci - собственно сервер для непрерывной интеграции
RU
EN