PostgreSQL9.6迁移至16.2

news/2024/7/9 19:50:21 标签: 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 即可。
在这里插入图片描述


http://www.niftyadmin.cn/n/5427079.html

相关文章

什么是仿射变换?

什么是仿射变换? 仿射变换可以理解为对坐标进行缩放、旋转、平移后取得的新坐标的值,也可以理解为经过对坐标的缩放、旋转、平移后原坐标在新坐标系中的值,可以用以下函数来描述 f ( x ) A x b f(x)Axb f(x)Axb 其中,A是变形矩…

Go语言与Rust哪一个更有发展前景?

Go语言和Rust都是目前非常受欢迎的编程语言,它们各自具有独特的优势和适用场景。关于哪一个更有发展前景,这实际上取决于多个因素,包括个人偏好、项目需求、社区支持以及未来技术的发展趋势等。 Go语言是由Google推出的,具有简洁…

GIS软件应用(二)

任务: 1. 正确划分渔网并裁剪出研究区域 2. 渔网与poi数据正确空间链接并统计网格内类别POI数量 步骤: 将南京市边界进行投影变换,具体看我的这篇文章:GIS软件应用(一)-CSDN博客 选择ArcToolbox中的 Cr…

C#八皇后算法:回溯法 vs 列优先法 vs 行优先法 vs 对角线优先法

目录 1.八皇后算法(Eight Queens Puzzle) 2.常见的八皇后算法解决方案 (1)列优先法(Column-First Method): (2)行优先法(Row-First Method)&a…

Windows-WSL2-VSCode+Docker配置C++开发环境

Windows-WSL2-VSCodeDocker配置C开发环境 写在前面 因为在学习工作中,需要不同的编码环境,若将这些不同的开发环境都状态一台设备上,很容易出问题,而且迁移性差,于是计划把不同的开发环境用docker隔离开来&#xff0…

rabbitmq-spring-boot-start配置使用手册

rabbitmq-spring-boot-start配置使用手册 文章目录 1.yaml配置如下2.引入pom依赖如下2.1 引入项目resources下libs中的jar包依赖如下2.2引入maven私服依赖如下 3.启动类配置如下4.项目中测试发送消息如下5.项目中消费消息代码示例6.mq管理后台交换机队列创建及路由绑定关系如下…

【话题】人工智能迷惑行为大赏

随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置AI玩法,如抖音的AI特效~在使用过程中往往会遇到一些问题,让你不得不怀疑,这真的是人工智能吗…

分布式ID(8):分布式ID生成方法

在分布式系统中,生成唯一的ID是一个核心问题,特别是在需要确保数据完整性和避免冲突的场景中。以下是对五种分布式唯一ID生成方法的详细阐述,包括它们的工作原理、优缺点,以及对网络依赖性的考量: 1 UUID(通用唯一标识符) 实现原理 工作方式:UUID是通过一系列算法生成…