如何在Windows 10的PostgreSQL 13中安装pg_cron扩展并解决报错?
Windows系统PostgreSQL安装pg_cron扩展操作指引
报错原因
你收到的报错是因为未提前将pg_cron的扩展文件放入PostgreSQL对应系统目录,直接执行CREATE EXTENSION命令无法找到扩展控制配置文件:
ERROR: could not open extension control file "C:/Program Files/PostgreSQL/13/share/extension/pg_cron.control": No such file or directory SQL state: 58P01
完整操作步骤
- 下载与你当前PostgreSQL主版本完全匹配的pg_cron Windows预编译二进制包(你使用的是PG13版本,需下载对应PG13的编译包,不可跨版本使用)
- 解压下载的压缩包,将包内的
.dll文件移动到PostgreSQL安装目录的lib文件夹,默认路径为C:/Program Files/PostgreSQL/13/lib/ - 将解压后包内的
.control文件、所有.sql后缀文件移动到PostgreSQL安装目录的share/extension文件夹,默认路径为C:/Program Files/PostgreSQL/13/share/extension/ - 编辑PostgreSQL配置文件
postgresql.conf,默认路径为C:/Program Files/PostgreSQL/13/data/postgresql.conf,找到shared_preload_libraries配置项,追加pg_cron,如果之前已有其他配置项用逗号分隔即可,示例如下:shared_preload_libraries = 'pg_cron' # 新增以下配置指定pg_cron默认关联的数据库 cron.database_name = '你要使用pg_cron的目标数据库名' - 重启PostgreSQL服务:打开Windows服务列表,找到
postgresql-x64-13服务,右键选择「重启」 - 连接到上面配置的目标数据库,执行扩展安装命令:
CREATE EXTENSION pg_cron;
安装验证
执行以下查询,返回对应pg_cron扩展信息即为安装成功:
SELECT extname, extversion FROM pg_extension WHERE extname = 'pg_cron';
内容的提问来源于stack exchange,提问作者Goutam Sahoo
相关产品推荐
相关产品推荐

