• 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服务,即可生效。
  • 相关阅读:
    objectARX 获取ucs的X方向
    passivedns 安装指南
    sql server手工注入
    libimobiledevice安装步骤
    CAD系统变量(参数)大全
    objectARX判断当前坐标系
    access手工注入
    网站自动跳转
    python黑帽子源码
    objectarx 卸载加载arx模块
  • 原文地址:https://www.cnblogs.com/yulinlewis/p/9410896.html
Copyright © 2020-2023  润新知