如何释放psql端口?

如何释放psql端口?

问题描述:

我已经搜索了如何关闭psql端口一段时间,但大多数答案都在谈论关闭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 -

+0

您希望运行netstat命令* root *(带'sudo')以便查看* PID *和* ProgramName * –

+0

您可以编辑'/ etc/postgresql .../.../main/postgresql.conf'来更改* port *编号。 –

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

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

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

+0

当我运行'pg_ctl stop'时,它给了我一个错误'pg_ctl:command not found' –

+0

'find/-name pg_ctl'作为root应该有帮助 –

+0

如果你从软件包(Ubuntu/Debian/Fedora/RHEL/CentOS /等等)你应该使用系统服务管理器来停止postgresql。例如在RHEL 7或Fedora中,'sudo systemctl stop postgresql-9.6'(或者你的版本是什么)而不是pg_ctl –