三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Windows本地postgresql 17升级18

Windows本地postgresql 17升级18

1、下载并安装postgres18

Download PostgreSQL

2、在服务中停止postgres17和18

3、以管理员运行CMD,设置postgres用户密码

E:\>set PGPASSWORD=你的数据库密码 E:\>"C:\Program Files\PostgreSQL\18\bin\pg_upgrade.exe" --old-datadir "C:/Program Files/PostgreSQL/17/data" --new-datadir "C:/Program Files/PostgreSQL/18/data" --old-bindir "C:/Program Files/PostgreSQL/17/bin" --new-bindir "C:/Program Files/PostgreSQL/18/bin" -U postgres

4、如果postgres17没有开启校验和,需要清空C:/Program Files/PostgreSQL/18/data目录下的文件并创建一个新的无校验和数据库系统以匹配postgres17

E:\>"C:\Program Files\PostgreSQL\18\bin\initdb.exe" -D "C:\Program Files\PostgreSQL\18\data" -U postgres -E UTF8 --no-data-checksums

5、运行pg_upgrade进行升级

E:\>"C:\Program Files\PostgreSQL\18\bin\pg_upgrade.exe" --old-datadir "C:/Program Files/PostgreSQL/17/data" --new-datadir "C:/Program Files/PostgreSQL/18/data" --old-bindir "C:/Program Files/PostgreSQL/17/bin" --new-bindir "C:/Program Files/PostgreSQL/18/bin" -U postgres

6、启动postgres18服务,并更新数据库统计信息

E:\>"C:\Program Files\PostgreSQL\18\bin\vacuumdb.exe" -U postgres --all --analyze-in-stages --missing-stats-only E:\>"C:\Program Files\PostgreSQL\18\bin\vacuumdb.exe" -U postgres --all --analyze-only

7、验证postgres版本,升级成功显示PostgreSQL 18.x on x86_64-windows

psql -U postgres -c "SELECT version();"

8、确认新数据库没有问题后可以清理旧数据后卸载PostgreSQL 17

E:\>delete_old_cluster.bat
← 返回列表