PostgreSQL导入数据库报错:psql: authentication method 10 not supported
解决Postbird导入PostgreSQL 14时的"authentication method 10 not supported"错误
这个错误的核心原因是:PostgreSQL 14默认采用scram-sha-256(认证方法编号10)作为密码认证方式,但你使用的Postbird v0.8.4内置的psql版本过旧,不支持该认证协议。以下是具体解决步骤:
步骤1:修改PostgreSQL的认证配置文件
- 找到PostgreSQL安装目录下的
pg_hba.conf文件:- Windows系统通常路径:
C:\Program Files\PostgreSQL\14\data\pg_hba.conf - Linux/macOS系统通常路径:
/var/lib/postgresql/14/main/pg_hba.conf(可根据实际安装路径调整)
- Windows系统通常路径:
- 打开文件,找到所有包含
scram-sha-256的行,将其替换为md5:
示例修改:# 原配置 local all all scram-sha-256 host all all 127.0.0.1/32 scram-sha-256 # 修改后 local all all md5 host all all 127.0.0.1/32 md5 - 保存文件后,重启PostgreSQL服务:
- Windows:打开「服务」面板,找到
postgresql-x64-14服务,右键选择「重启」 - Linux:执行命令
sudo systemctl restart postgresql@14-main - macOS:执行命令
brew services restart postgresql@14(通过brew安装的情况)
- Windows:打开「服务」面板,找到
步骤2:重置数据库用户密码
由于认证方式从scram-sha-256改为md5,需要重新设置用户密码以生成对应的md5哈希:
- 打开系统自带的PostgreSQL命令行工具(psql),输入命令:
(Windows用户可从开始菜单找到「PostgreSQL 14」→「SQL Shell (psql)」启动)psql -U postgres - 在psql交互界面中,执行以下命令重置密码(替换
your_username和your_password为你的实际用户名和密码):ALTER USER your_username WITH PASSWORD 'your_password'; - 输入
\q退出psql。
步骤3:重新尝试导入
回到Postbird客户端,使用修改后的密码重新连接数据库,再尝试导入baseball_database.sql文件,即可解决认证错误问题。
备选方案:指定Postbird使用系统自带的psql
如果不想修改认证方式,也可以让Postbird调用PostgreSQL 14自带的psql程序(该版本支持scram-sha-256):
- 打开Postbird的设置界面
- 找到「psql路径」选项,选择PostgreSQL 14安装目录下的psql可执行文件:
- Windows:
C:\Program Files\PostgreSQL\14\bin\psql.exe - Linux/macOS:
/usr/lib/postgresql/14/bin/psql
- Windows:
- 保存设置后重新连接并导入。
内容的提问来源于stack exchange,提问作者Tanmay Patel
相关产品推荐
相关产品推荐

