Как автоматически создавать БД при старте контейнера PostgreSQL?
Roman Sedov
Допустим, нам необходимо инициализировать ещё одну БД в отличие от той, что указана, например, в переменной окружения $POSTGRES_DB. Определим следующий скрипт:
create database "<dbname>" with owner "<ownername>";
Кладём этот скрипт в папку, которую маунтим, например для docker compose:
postgres_db:
environment:
POSTGRES_DB: ${DB_DBNAME}
POSTGRES_USER: ${DB_DBUSER}
POSTGRES_PASSWORD: ${DB_DBPASSWORD}
volumes:
- ./scripts/init-another-db.sql:/docker-entrypoint-initdb.d/init-another-db.sql
При инициализации, PostgreSQL автоматически выполнит этот скрипт. В целом, выполнятся все скрипты, которые будут находиться в папке /docker-entrypoint-initdb.d во время инициализации.
DvwHZaZMVtraeQ
12.03.2025mpXbEubntO
11.03.2025