0
点赞
收藏
分享

微信扫一扫

Kubernetes弃用Dockershim,转向Containerd:影响及如何应对

晚安大世界 03-17 19:31 阅读 2
postgresql

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

1、备份数据库

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

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

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

2、还原数据库

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

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

提示 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 即可。
在这里插入图片描述

举报

相关推荐

0 条评论