You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 21.10完全重装PostgreSQL 13后psql无法连接服务器问题求助

问题根因
  • 卸载旧版PostgreSQL时未同步删除集群配置,残留的PostgreSQL 12版本集群原本占用默认5432端口,但对应二进制文件已被清除无法启动
  • 新安装的PostgreSQL 13集群因5432端口被残留配置占用,自动分配到5433端口启动成功,但psql命令默认尝试连接5432端口的Unix套接字,因此抛出连接失败错误
解决方案

场景1:无需保留PostgreSQL 12的旧数据

直接清理残留配置并修改13版本端口为默认值即可:

  • 执行命令删除12版本残留集群:sudo pg_dropcluster 12 main --stop
  • 修改PostgreSQL 13集群端口为默认5432:
    1. 打开配置文件:sudo nano /etc/postgresql/13/main/postgresql.conf
    2. 找到port = 5433配置项,修改为port = 5432后保存退出
    3. 重启集群使配置生效:sudo systemctl restart postgresql@13-main.service
  • 验证连接:执行psql -U postgres即可正常连接,若当前系统用户未配置数据库权限,可执行sudo -u postgres psql连接

场景2:需要保留PostgreSQL 12的旧数据

如果需要读取12版本集群的旧数据,按如下步骤操作:

  • 重装PostgreSQL 12二进制文件:sudo apt install postgresql-12
  • 启动12版本集群:sudo pg_ctlcluster 12 main start
  • 临时连接13版本集群的方法:执行psql -p 5433 -U postgres指定端口即可正常连接
  • 如需迁移旧数据到13版本,可使用pg_dumpall工具导出12版本全量数据,再导入到13版本集群,迁移完成后可按场景1的步骤清理12版本集群、修改13版本端口为默认值

内容的提问来源于stack exchange,提问作者Mapper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:45:07