pg_cron
केवल साझा पुस्तकालय के रूप में लोड किया जा सकता है। आपको इसे postgres.conf
. में निर्दिष्ट करना होगा फ़ाइल। चूंकि docker-entrypoint-init.d
. में सभी स्क्रिप्ट पोस्टग्रेज सर्वर शुरू होने के बाद निष्पादित किया जाता है (pg_ctl start
. के साथ) ), shared_preload_libraries
. में सभी परिवर्तन postgres.conf
. में पुनः आरंभ करने के बाद उपलब्ध हो सकता है (pg_ctl restart
)
वास्तविक दुनिया का उदाहरण:
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;
सूचना :
- स्क्रिप्ट निष्पादन आदेश मायने रखता है और फ़ाइल नामों द्वारा आदेशित किया जाता है
pg_cron
db . में उपलब्ध हो जाता हैcron.database_name
. के साथ निर्दिष्ट