利用 pg_upgrade 进行大版升级操作
注意
在安装数据库时,请保证新旧数据库安装时使用的登录名一致,建议保持默认的"postgres"就行,如果将安装时的登录名禁用请将其所有权限打开。
安装完成后将所有的数据库实例停止。
修改文件权限
将新旧版本的安装文件夹和data文件夹的权限改为完全控制
pg_hba.conf配置修改
将新旧数据库中data文件中 pg_hba.conf 验证方式改为"trust"
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
执行pg_upgrade命令
配置防火墙,管理员运行CMD,进入新版本bin目录
pg_upgrade -b "D:\PG\PostgreSQL\16\bin" -B "D:\PG\PostgreSQL\17\bin" -d "D:\PG\NanFangPG\data" -D "D:\PG\nanfang17\data" -U postgres
pg_upgrade -b “旧的bin目录” -B “新的bin目录” -d “旧的data目录” -D “新的data目录” -U postgres
完成
恢复修改的配置
将新旧数据库中data文件中 pg_hba.conf 验证方式改为"scram-sha-256"
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256