Вы можете запускать некоторые сценарии в posgres, когда монтируете папку со своим сценарием в контейнер докера в /docker-entrypoint-initdb.d/
se docker-compose.yml, который монтирует папку sql. Изображения postgres потрясающие и будут запускать сценарии при каждом запуске postgres ...
version: '3.6'
services:
my_db:
image: postgres:alpine
volumes: ["/somepath/sql/:/docker-entrypoint-initdb.d/"]
структура файла /somepath/
- docker-compose.yml
- sql
- new_extension.sql
и cat sql/new_extension.sql
/* create extension for cureent DB */
CREATE EXTENSION IF NOT EXISTS citext;
/* create extension over the template1 so all created databases after that also have the extension */
\c template1
CREATE EXTENSION IF NOT EXISTS citext;