You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MacOS上为PostgreSQL 13安装pgcrypto扩展

解决Mac上PostgreSQL 13启用pgcrypto扩展的问题

一、Mac上搞定postgres-contrib(含pgcrypto)的方法

  • 如果你是用Homebrew装的PostgreSQL 13:
    正常情况下,brew install postgresql@13会自动包含contrib组件,不需要单独安装。如果已经装了但扩展没生效,执行brew reinstall postgresql@13重新安装,确保contrib被正确部署。
  • 验证扩展是否存在:
    打开终端进入psql控制台(命令:psql -d 你的项目数据库名),执行查询:SELECT * FROM pg_available_extensions WHERE name = 'pgcrypto';,能查到结果就说明扩展已经在系统里了。
  • 手动创建扩展:
    要是迁移里的enable_extension "pgcrypto"一直失败,先手动在psql里执行CREATE EXTENSION IF NOT EXISTS pgcrypto;,创建成功后再跑Rails迁移就行。

二、替代方案:绕开迁移的enable_extension语句

直接把迁移文件里的enable_extension "pgcrypto"注释掉,先手动在psql里创建好扩展,之后再运行迁移。后续只要数据库里已经有这个扩展,迁移不会因为这行注释出问题。

三、关于安装旧版PostgreSQL的问题

PostgreSQL从9.4开始就把pgcrypto归在contrib组件里,不管是旧版还是13版,都需要确保contrib组件安装到位。旧版PostgreSQL并不会默认“预装”好这个扩展,和13版的要求是一样的,所以装旧版并不能直接解决问题,核心还是要确保contrib组件正确安装并手动启用扩展。

内容的提问来源于stack exchange,提问作者Gabriel Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 12:07:04