PostgreSQL - 修改默认端口号

升级PostgreSQL遇到的问题
之前将PostgreSQL从9.5升级到了10.3版本,安装时将端口设置成了5433,(默认是5432),后来发现在使用psql来restore db会发生语法错误。

由于PostgreSQL10.3版本添加了9.5版本没有的sql语法,导致了这个错误,但我明明已经升级了数据库,为什么还会遇到语法错误呢?而且我发现我在cmd窗口里连接了数据库之后,psql提示我psql的版本是10.3,而server版本却是9.5。

在折腾了好一会,才被自己的蠢都哭了。

原来是因为我在连接数据库时没有通过-p 5433来指定10.5版本的server端口号,所以psql自动连接了默认端口号是5432的9.5版本server。

解决方式
连接数据库时指定端口号
如果要连接5432以外的端口号,必须通过-p参数来指定端口号。

由于我原本用的是9.5版本的,本身就启动着9.5版本的server服务,端口号是默认的5432;后来我升级了10.3版本的,实际上PostgreSQL在升级时并不会卸载旧版本的,会在安装了新版本之后就自动启动新版本的server服务,这里我设置的端口号是5433。

于是在我的电脑上就同时启动着9.5和10.3两个版本的server服务,当我没有指定端口号时,其实一直是连接的9.5版本的server,于是在restore使用了新版本语法的db时就会报错。

修改默认端口号
如果我希望不指定端口号就能连接新版本的server,就只能将10.3的server的端口号改为默认端口号5432。

首先将9.5版本的server服务关闭,这个要在系统的服务管理器中将其关闭:

win + R快捷键打开运行;
输入services.msc打开服务管理器;
找到运行中的9.5版本的server服务将其关闭。
在PostgreSQL的安装路径下,找到对应版本的postgresql.conf文件(在data文件夹内):

修改port = 5432;
保存修改,重启该版本的server服务,即可生效。
————————————————
版权声明:本文为CSDN博主「雨临Lewis」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lewky_liu/article/details/81369556

posted @   ldp.im  阅读(1697)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
历史上的今天:
2018-11-10 SpringBoot连接PostgreSQL
点击右上角即可分享
微信分享提示