如何在搭载Apple M1芯片的Big Sur系统上安装pg_cron?
Apple M1芯片 macOS Big Sur 环境 PostgreSQL 13.4 安装pg_cron教程
yum、apt是Linux系统的包管理器,macOS不支持,因此执行对应命令必然失败,正确安装步骤如下:
前置准备
- 已通过Homebrew安装PostgreSQL 13.4,且可正常执行
pg_config命令,若找不到该命令,可执行export PATH="/opt/homebrew/opt/postgresql@13/bin:$PATH"临时加入环境变量
编译安装pg_cron
- 拉取pg_cron官方源码,进入源码根目录
- 执行编译命令,适配M1架构的pg路径:
PG_CONFIG=/opt/homebrew/opt/postgresql@13/bin/pg_config make - 执行安装命令:
sudo make install
配置PostgreSQL加载扩展
- 执行以下命令查询postgresql.conf配置文件路径:
psql -U postgres -c 'show config_file' - 编辑上述路径的配置文件,修改shared_preload_libraries参数,追加pg_cron:
# 若原本无其他预加载库 shared_preload_libraries = 'pg_cron' # 若已有其他预加载库,用逗号分隔即可,示例如下 shared_preload_libraries = 'pg_stat_statements,pg_cron'
- 可选配置:若需指定pg_cron的默认作用数据库,可追加配置:
cron.database_name = '你需要使用定时任务的数据库名' - 重启PostgreSQL服务使配置生效,Homebrew安装的pg可执行:
brew services restart postgresql@13
验证安装结果
- 登录目标数据库的psql终端,执行扩展创建命令:
CREATE EXTENSION pg_cron; - 执行查询验证扩展已加载:
SELECT * FROM pg_extension WHERE extname = 'pg_cron';
若查询返回对应记录,即代表安装配置成功。
常见问题排查
- 编译时报错找不到pg_config:确认你输入的PG_CONFIG路径和实际PostgreSQL 13.4的安装路径一致,可执行
which pg_config查询本地实际路径后替换即可 - 安装时报权限错误:可先执行
sudo chown -R $(whoami) /opt/homebrew/opt/postgresql@13给当前用户授权pg目录后重试
内容的提问来源于stack exchange,提问作者PirateApp
相关产品推荐
相关产品推荐

