Loading

postgres|报错: Symbol not found: _PQsslAttribute

postgres|报错: Symbol not found: _PQsslAttribute

MacOS系统

请大概浏览一遍全文,再进行操作。

一、前言

当我启动服务,连接 postgre s数据库的时候,出现了该错误。

二、分析原因

之前我本地的postgres数据库版本为9.6,我将其升级成了10.10版本。

初步猜测是由于我升级数据库导致的该问题。应该更新一下libpq.5.dylib 这个文件。

三、解决方法

备份原有的dylib文件,然后将新的链接过来。

执行第二条命令时请注意:因为安装postgres的方式不同,所以该文件的位置也不同。
我本机是通过 brew 安装的。所以执行第二条命令。
如果是通过dmg 方式安装的。所以执行第三条命令

sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old

// 通过 brew 安装的postgres
sudo ln -s /usr/local/opt/postgresql@10/lib/libpq.5.dylib /usr/lib

// 通过 dmg 方式安装的 postgres
sudo ln -s /Applications/Postgres.app/Contents/Versions/9.4/lib/libpq.5.dylib /usr/lib

四、可能会遇到的问题

4.1. 报错:Operation not permitted

执行sudo mv /usr/lib/libpq.5.dylib /usr/lib/libpq.5.dylib.old命令时遇到操作权限问题。

分析原因

这是因为 Mac 系统安全模式的问题。

解决方法: 修改

重启机器 --> 按cmd + r(会出现一个选择选择语言的界面。别怕,点一下自己喜欢的语言就好) ---> 左上角选择工具 ---> 终端 ---> 然后输入 csrutil disable (出现 success 相关的内容) ---> 然后再输入 reboot (重启设备)

建议:在修改完相关内容后。按照上述步骤在终端输入crutil enable 来打开安全限制功能。

4.2 报错:Error: pg_config executable not found.

分析原因:

因为没有配置环境变量,所以找不到配置文件。

解决方法

将该命令添加到 ~/.bashrc或者~/.zshrc文件中。然后 source 执行该文件。eg: source ~/.zshrc

export PATH="/usr/local/opt/postgresql@10/bin:$PATH"
posted @ 2020-03-07 16:30  井底蛙的天空  阅读(711)  评论(0)    收藏  举报