繁体   English   中英

从 postgres 12 升级到 13 导致用户权限问题

[英]upgrade from postgres 12 to 13 causes user authority problem

我在端口 6432 安装了一个 windows 安装的 postgres 12.6-1。我在端口 9432 安装了一个较新的版本,以针对我们的应用程序测试数据库。

首先,我尝试将全局变量从 12 转储到 sql,并将用户列表安装到 13。这是一场灾难,因为包括超级用户在内的所有用户现在都无法访问。

所以我阅读了发行说明,它说要使用 pg_upgrade。 在经历了很多痛苦之后,我让它运行,但它似乎像我一样运行了 pg_dumpall。 pg_upgrade 在以本地超级用户身份生成数据库时失败,因为用户加载已损坏密码,现在无法再次访问数据库。

我已经从 PG_DUMPALL 命令中检查了 SQL output 有和没有 --binary-upgrade,它在它从数据库中生成的 MD5 Z0800FC577294C34E0BZ28AD283 数据中似乎是相同的。

我需要其他工具吗?

我做错了什么?

13 数据库是空的,所以任何激烈的操作都可以。

ED 13 安装默认 pg_hba.conf 加密为 scram-sha-256。 如果您已使用此加密加载密码,请保留它。 如果您(像我一样)在不知情的情况下加载了 md5 加密密码,只需将 pg_hba.conf 行的加密更改为 md5 并重新启动 postgres。

如果您希望保持 scram-sha-256 加密级别,那么我怀疑除了编辑 pg_dumpall output 并将语法更改为纯文本密码输入,并在新数据库上重置密码之外别无选择。 我知道这是可行的,因为我刚刚尝试使用纯文本密码加载文件样本,并且能够以新用户身份登录。

感谢 Adrian Klaver 和 jjanes。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM