在 Azure Flexible PostgreSQL 上安装 pg_cron

Installation of pg_cron on Azure Flexible PostgeSQL

我正在尝试为 Azure PostgreSQL 灵活服务器安装 pg-cron 扩展。 根据此处找到的文档: https://docs.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions#postgres-13-extensions pg_cron 是可用的扩展,但是当我尝试安装它时:

create schema cron_pg;
CREATE EXTENSION pg_cron SCHEMA cron_pg;

我得到的是:

SQL Error [0A000]: ERROR: extension "pg_cron" is not allow-listed for "azure_pg_admin" users in Azure Database for PostgreSQL
  Hint: to see the full allow list of extensions, please run: "show azure.extensions;"

执行时:

show azure.extensions;

pg_cron 缺失:

address_standardizer,address_standardizer_data_us,amcheck,bloom,btree_gin,btree_gist,citext,cube,dblink,dict_int,dict_xsyn,earthdistance,fuzzystrmatch,hstore,intagg,intarray,isn,lo,ltree,pageinspect,pg_buffercache,pg_freespacemap,pg_partman,pg_prewarm,pg_stat_statements,pg_trgm,pg_visibility,pgaudit,pgcrypto,pgrowlocks,pglogical,pgstattuple,plpgsql,postgis,postgis_sfcgal,postgis_tiger_geocoder,postgis_topology,postgres_fdw,sslinfo,tablefunc,tsm_system_rows,tsm_system_time,unaccent,uuid-ossp,lo,postgis_raster

我做错了什么?

似乎 pg_cron 扩展已经在默认 'postgres' 数据库中默认启用。 我没有看到这个的原因是因为我没有使用默认的 'postgres' 数据库。我已经创建了我自己连接的数据库。 这实际上并没有解决我的问题,因为我无法跨数据库执行来自 pg_cron 的作业...

您可以通过更新作业 table.

中的 database 列作业来告诉 pg_cron 另一个数据库中的 运行 作业

例如:

UPDATE cron.job SET database = 'wordpress' WHERE jobname = 'wordpress-job';