PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

membuat ekstensi pg_cron di dalam docker-entrypoint-initdb.d gagal

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 :

  1. perintah eksekusi skrip penting dan diurutkan berdasarkan nama file
  2. pg_cron menjadi tersedia di db ditentukan dengan cron.database_name


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengaturan yang benar dari database pool connection database.yml untuk aplikasi Rails single-threaded

  2. Formulir pencarian tidak merutekan ke pengontrol yang tepat di Rails 5.1

  3. Bagaimana cara mengubah skema beberapa tabel PostgreSQL dalam satu operasi?

  4. Bagaimana Melakukan Persen/Total dalam SQL?

  5. Ikhtisar Berbagai Metode Pemindaian di PostgreSQL