使用 Enterprise DB 构建的 Windows 安装程序从 PostgreSQL (例如 9.3.0 到 9.3.1)执行小升级的推荐方法是什么?我应该先卸载还是只安装现有安装?
当前安装是使用 postgresql-9.3.0-1-windows-x64.exe 执行的。现在我想使用 postgresql-9.3.1-1-windows-x64.exe 进行升级。
使用 Enterprise DB 构建的 Windows 安装程序从 PostgreSQL (例如 9.3.0 到 9.3.1)执行小升级的推荐方法是什么?我应该先卸载还是只安装现有安装?
当前安装是使用 postgresql-9.3.0-1-windows-x64.exe 执行的。现在我想使用 postgresql-9.3.1-1-windows-x64.exe 进行升级。
在 Windows 上,只需停止 postgresql 服务,然后在现有 9.3.0 的基础上运行 postgresql-9.3.1-1-windows-x64.exe 即可。无需卸载。当然,建议备份。
没有关于 Windows 上更新过程的清晰、明确的文档。请注意,@dezso 提供的文档链接已在当前手册中移至: https ://www.postgresql.org/docs/current/static/upgrading.html
PostgreSQL 发行说明通常在附录 E 中记录迁移技巧。例如,
Windows 安装程序信息的最佳来源是 Enterprise DB 论坛。这是我发现的一些帖子,解决了这个问题......
升级信息从一个版本转移到另一个版本。例如,
截至 2017 年 6 月,EnterpriseDB 替换了影响此答案中链接的社区讨论论坛(https://web.archive.org/web/20171021012954/https://www.enterprisedb.com/news/enterprisedb-announces-new- postgres-rocks-online-user-forum)。我能够在 Wayback Machine 上找到一些原始帖子。我无法修复的一个死链接是:“2010 年 1 月 - 从 8.4.1 升级到 8.4.2”, http ://forums.enterprisedb.com/posts/list/2115.page#7888 。
作为记录,从 Enterprise DB(默认值,从 Postgres 站点链接)运行 Windows 安装程序,至少从当前版本 Postgres 9.4 开始,您不必停止该
postgresql
服务。安装程序会为您执行此操作。您仍然需要重新建立连接,如果有的话(大多数客户端会自动执行此操作)。最好参考当前手册(使用当前版本的 Postgres):
http://www.postgresql.org/docs/current/interactive/upgrading.html
我刚刚将 Postgres 10.0 升级到 10.1,这是一个非常快速和简单的升级。
我从https://www.enterprisedb.com/download-postgresql-binaries下载了二进制文件并将它们解压缩到
C:\postgres
,然后将目录重命名为pgsql
,pgsql-10.1
以便我可以保留旧版本,直到认为不必要为止。我复制了 dll 文件
msvcp120.dll
,msvcr120.dll
因为C:\postgres\pgsql-10.1\bin
我更喜欢简单的安装而不是“安装程序”,这可能会增加比需要更多的膨胀。然后我使用了我过去编写的这个简单的批处理脚本:
我
SELECT version();
在 psql 中运行以确认旧版本:然后我运行上面的批处理脚本,该脚本安装了一个名为
postgres-10.1
.我停止了旧服务并将其设置
Startup Type
为Disabled
,然后启动了新服务。在 psql 中再次运行
SELECT version();
确认升级(由于在我停止旧服务器时连接被中止,必须运行两次):请记住,升级主要版本需要使用
pg_upgrade
或其他方法更新数据目录,但对于次要升级,此方法就像一个魅力。