pg_cron
lze načíst pouze jako sdílenou knihovnu. Musíte jej zadat v postgres.conf
soubor. Protože všechny skripty jsou v docker-entrypoint-init.d
se spouštějí po spuštění postgres serveru (pomocí pg_ctl start
), všechny změny shared_preload_libraries
v postgres.conf
mohou být dostupné po restartu (s pg_ctl restart
).
Příklad ze skutečného světa:
002-setup.sh :
#!/bin/sh
# Remove last line "shared_preload_libraries='citus'"
sed -i '$ d' ${PGDATA}/postgresql.conf
cat <<EOT >> ${PGDATA}/postgresql.conf
shared_preload_libraries='pg_cron,citus'
cron.database_name='${POSTGRES_DB:-postgres}'
EOT
# Required to load pg_cron
pg_ctl restart
003-main.sql :
CREATE EXTENSION pg_cron;
Upozornění :
- Na pořadí provádění skriptů záleží a je seřazeno podle názvů souborů
pg_cron
bude k dispozici v db specifikované pomocícron.database_name