【问题标题】:How do I release a psql port?如何释放 psql 端口?
【发布时间】:2017-11-03 01:50:51
【问题描述】:

我已经搜索了一段时间如何关闭 psql 端口,但大多数答案都在谈论使用\q 关闭 psql 命令行,这不是我想要的。

我的问题是,我笔记本电脑上的 postgresql 正在运行并侦听端口 5432,但我想将端口 5432 用于其他用途。通常我会运行netstat -plnt 来查找要杀死的进程,但在这种情况下,正在侦听端口 5432 的进程没有进程 ID...

知道如何释放 5432 端口吗?

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN -

【问题讨论】:

  • 您必须以 root 的身份运行 netstat 命令(使用 sudo)才能查看 PIDProgramName我>
  • 您可以编辑/etc/postgresql.../.../main/postgresql.conf 以更改端口号。

标签: linux postgresql port psql


【解决方案1】:

psql 是一个连接到 postgres 服务器的客户端。关闭与\q 的连接刚刚结束会话。当它发生时,该会话的后端停止,因此通过关闭连接,您只会在服务器上释放 pid。服务器继续监听 5432 端口。

如果你想停止监听 5432 端口,你可以使用 pg_ctl stop 停止 postgres 服务器,甚至可以在 postgres.conf 中为其分配不同的端口,这样你就可以并行运行这两个程序

更新 如果您从软件包(Ubuntu/Debian/Fedora/RHEL/CentOS/etc)安装,您应该使用系统服务管理器来停止 postgresql。例如在 RHEL 7 或 Fedora 中,sudo systemctl stop postgresql-9.6(或任何您的版本)而不是 pg_ctl(引用 Craig Ringer)

【讨论】:

  • 当我运行pg_ctl stop 时,它给了我一个错误pg_ctl: command not found
  • find / -name pg_ctl 作为 root 应该有帮助
  • 如果您从软件包(Ubuntu/Debian/Fedora/RHEL/CentOS/etc)安装,您应该使用系统服务管理器来停止 postgresql。例如在 RHEL 7 或 Fedora 中,sudo systemctl stop postgresql-9.6(或任何你的版本)而不是 pg_ctl
  • @CraigRinger 谢谢你的通知!更新了答案
猜你喜欢
  • 2018-07-24
  • 2010-10-19
  • 2021-06-05
  • 1970-01-01
相关资源
最近更新 更多