PostgreSQL与Tableau集成报错:无法连接服务器(错误码BC42EF73)
解决Tableau连接PostgreSQL dvdrental数据库时的BC42EF73错误
错误原因
错误提示明确说明:SCRAM authentication requires libpq version 10 or above,这是因为PostgreSQL 10及以上版本默认使用SCRAM-SHA-256认证协议,但当前Tableau使用的PostgreSQL驱动(内置libpq库)版本低于10,不支持该协议,导致连接失败。
解决方案
方案1:升级Tableau的PostgreSQL驱动(推荐长期方案)
- 打开Tableau,依次点击「帮助」>「设置和性能」>「管理数据源驱动程序」
- 在驱动列表中找到PostgreSQL,点击「更新」按钮,安装最新版本的驱动
- 重启Tableau后,重新尝试连接dvdrental数据库
方案2:修改PostgreSQL认证方式为MD5(临时 workaround)
如果暂时无法升级驱动,可以将PostgreSQL的认证方式降级为兼容性更好的MD5:
找到并修改
pg_hba.conf配置文件- Windows路径:
C:\Program Files\PostgreSQL\<你的版本号>\data\pg_hba.conf - Linux/macOS路径:
/var/lib/postgresql/<你的版本号>/main/pg_hba.conf或/usr/local/pgsql/data/pg_hba.conf - 找到本地连接的配置行(通常是
host all all 127.0.0.1/32 scram-sha-256),将scram-sha-256替换为md5
- Windows路径:
修改
postgresql.conf配置文件- 找到
password_encryption = scram-sha-256这一行,改为password_encryption = md5
- 找到
重启PostgreSQL服务
- Windows:打开「服务」管理器,找到PostgreSQL服务右键选择「重启」
- Linux:执行命令
sudo systemctl restart postgresql - macOS(brew安装):执行命令
brew services restart postgresql
重置数据库用户密码
- 登录PostgreSQL命令行:
psql -U <你的数据库用户名> dvdrental - 执行密码重置命令:
ALTER USER <你的数据库用户名> WITH PASSWORD '<你的密码>';
- 登录PostgreSQL命令行:
重新尝试用Tableau连接数据库
注意事项
- 升级驱动是更安全的长期解决方案,MD5认证的安全性低于SCRAM,仅建议作为临时过渡使用
- 确保PostgreSQL服务处于运行状态,且连接使用的用户拥有dvdrental数据库的访问权限
内容的提问来源于stack exchange,提问作者Sourabh Jhariya
相关产品推荐
相关产品推荐

