当前位置:   article > 正文

PostgreSQL9.6迁移至16.2_only authenticationcleartextpassword and authentic

only authenticationcleartextpassword and authenticationmd5password supported

由于更换服务器,需要将原服务器上的应用迁移至新服务器。旧服务器应用环境为.NET4.0+PostgreSQL9.6,新服务器应用环境为.NET4.0+PostgreSQL16.2。

1、备份数据库

在旧服务器中,使用 pg_dump 命令进行备份。

pg_dump -U username -W -F c -f backup_file.pgdump database_name
  • 1

这一部顺利,将备份的文件复制到新的服务器。

2、还原数据库

在新的服务器上,创建新数据库。然后使用以下语句还原。

pg_restore -U username -W -d new_database_name backup_file.pgdump
  • 1
问题一

提示 public scheme 已经存在。
解决:在新数据库中先删除 public scheme 后再运行就可以了。

3、迁移应用

一步步照抄旧服务器配置

4、测试运行

测试运行并不太顺利,耗时不少。

问题一

ASP.Net State Service,.NET 的状态服务无法连接。解决:默认是手动启动的,改成自动启动。启动后问题解决。

问题二

首页404错误。
解决**:在 IIS 安装选项中,应用程序开发项下边的 ASP.NET 需要勾选。
在这里插入图片描述

问题三

报错:Only AuthenticationClearTextPassword and AuthenticationMD5Password supported for now.
解决**:
原来新版本的 PostgreSQL 默认连接已经不允许明文了,默认指定了 scram-sha-256 加密算法,而这个应用项目使用的 Npgsql.dll 版本较低不支持所以无法正确连接。

解决办法两条思路,其一换 Npgsql.dll 版本,6.0 及以上是可以支持的,但似乎就不能支持 .NET4.0了。其二则是看是否可配置 PostgreSQL 来兼容旧的方式。其二当然是代价最小的。
修改位于 PostgreSQL\16\data 下的 pg_hba.conf 文件中的连接方法将 scram-sha-256 修改为 trust 即可。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/518187
推荐阅读
相关标签
  

闽ICP备14008679号