PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

tạo phần mở rộng pg_cron trong docker-entrypoint-initdb.d không thành công

pg_cron chỉ có thể được tải dưới dạng thư viện được chia sẻ. Bạn phải chỉ định nó trong postgres.conf tập tin. Vì tất cả các tập lệnh trong docker-entrypoint-init.d được thực thi sau khi máy chủ postgres được khởi động (với pg_ctl start ), tất cả các thay đổi đối với shared_preload_libraries trong postgres.conf có thể khả dụng sau khi khởi động lại (với pg_ctl restart ).

Ví dụ trong thế giới thực:

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;

Thông báo :

  1. thứ tự thực thi tập lệnh quan trọng và được sắp xếp theo tên tệp
  2. pg_cron có sẵn trong db được chỉ định bằng 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. CẬP NHẬT nhiều hàng từ nhiều tham số trong nodejs / pg

  2. Làm thế nào để bao gồm các hàng bị loại trừ trong QUAY LẠI khỏi CHÈN ... BẬT MÂU THUẪN

  3. Sự cố đồng thời khi truy xuất Id của các hàng mới được chèn bằng ibatis

  4. Truy vấn không trả về gì từ cơ sở dữ liệu

  5. Sắp xếp các chuỗi số được phân tách bằng dấu chấm (ví dụ:số phiên bản)