首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PostgresSQL从9.6升级到10在使用pg_upgrade时失败(fe_sendauth:没有提供密码)

PostgresSQL从9.6升级到10在使用pg_upgrade时失败(fe_sendauth:没有提供密码)
EN

Server Fault用户
提问于 2021-11-16 14:22:05
回答 1查看 898关注 0票数 2

从Windows2012到2019的部分工作包括将Postgres的当前安装从9.6升级到10。

代码语言:javascript
运行
复制
pg_upgrade.exe -b "c:/Program Files/PostgreSQL/9.6/bin" -B "d:/PostgreSQL/10/bin" -d "D:/PostgreSQL/9.6/data" -D "D:/PostgreSQL/10/data" --old-port=5432 --new-port=5433 -U postgres -v --check

它开始很好,但是过了一段时间它就这样失败了。

代码语言:javascript
运行
复制
"d:/PostgreSQL/10/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/PostgreSQL/10/data" -o "-p 5433 -b -c synchronous_commit=off -c fsync=off -c full_page_writes=off -c vacuum_defer_cleanup_age=0 " start >> "pg_upgrade_server_start.log" 2>&1

connection to database failed: fe_sendauth: no password supplied
could not connect to target postmaster started with the command:
"d:/PostgreSQL/10/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/PostgreSQL/10/data" -o "-p 5433 -b -c synchronous_commit=off -c fsync=off -c full_page_writes=off -c vacuum_defer_cleanup_age=0 " start

但是如果我试图单独运行这个命令,它就会在没有任何问题的情况下启动。我已经更新了pg_hba.conf-file,所以我可以在不提示输入密码的情况下发出psql -U postgres -host 5433。除此之外,我在pg_upgrade*.log文件中找不到任何有价值的东西。

EN

回答 1

Server Fault用户

发布于 2023-03-20 23:29:05

在windows上,在启动pg_upgrade之前需要做两件事

  1. 通过编辑pg_hba.conf替换md5或任何其他方法,在ipv4和v6部分中通过信任启用“无密码”身份验证

类型数据库用户地址方法# IPv4本地连接:#主机所有127.0.0.1/32 md5主机所有127.0.0.1/32信任# IPv6本地连接:#主机全部:1/128个md5主机全部::1/128个信任

  1. 命令必须在与数据库超级用户( postgres )相同的用户下运行,创建本地用户postgres并授予他管理权限。不要忘记将完全控制权授予两个数据库中的postgres\data文件夹,然后从这个用户(作为管理员)运行cmd.exe。

最后,从postgres可以读写日志文件的位置运行该命令

运行最新版本的pg_upgrade。

您只需要这些参数

d:\PostgreSQL\10\bin\pg_upgrade.exe -b "c:\Program \PostgreSQL\9.6\bin“-B”d:\PostgreSQL\10 bin“-d "D:\PostgreSQL\9.6\data”D:\PostgreSQL\10\data“

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1083707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档