pg_cron
dapat dimuat hanya sebagai perpustakaan bersama. Anda harus menentukannya di postgres.conf
mengajukan. Karena semua skrip di docker-entrypoint-init.d
dijalankan setelah server postgres dimulai (dengan pg_ctl start
), semua perubahan pada shared_preload_libraries
di postgres.conf
dapat tersedia setelah restart (dengan pg_ctl restart
).
Contoh dunia nyata:
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;
Pemberitahuan :
- perintah eksekusi skrip penting dan diurutkan berdasarkan nama file
pg_cron
menjadi tersedia di db ditentukan dengancron.database_name