Linux 如何释放psql端口?
我已经搜索了一段时间如何关闭psql端口,但大多数答案都是关于使用Linux 如何释放psql端口?,linux,postgresql,port,psql,Linux,Postgresql,Port,Psql,我已经搜索了一段时间如何关闭psql端口,但大多数答案都是关于使用\q关闭psql命令行,这不是我想要的 我的问题是,我笔记本电脑上的postgresql正在5432端口上运行和侦听,但我想将5432端口用于其他用途。通常我运行netstat-plnt查找要终止的进程,但在这种情况下,侦听端口5432的进程没有进程id 你知道我如何释放端口5432吗 Proto Recv-Q Send-Q本地地址外部地址状态PID/程序名 tcp 0 0 127.0.0.1:5432 0.0.0.0:*听-
\q
关闭psql命令行,这不是我想要的
我的问题是,我笔记本电脑上的postgresql正在5432端口上运行和侦听,但我想将5432端口用于其他用途。通常我运行netstat-plnt
查找要终止的进程,但在这种情况下,侦听端口5432的进程没有进程id
你知道我如何释放端口5432吗
Proto Recv-Q Send-Q本地地址外部地址状态PID/程序名
tcp 0 0 127.0.0.1:5432 0.0.0.0:*听-
psql
是连接到postgres服务器的客户端。关闭与\q
的连接即可完成会话。发生这种情况时,该会话的后端将停止,所以通过关闭连接,您只能释放服务器上的pid。服务器继续监听端口5432
如果您想停止监听端口5432,可以使用pg_ctl stop
停止postgres服务器,甚至在postgres.conf中为其分配不同的端口,这样您就可以并行运行这两个程序
更新
如果您是从软件包(Ubuntu/Debian/Fedora/RHEL/CentOS/etc)安装的,您应该使用系统服务管理器来停止postgresql。e、 g.在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感谢您的通知!更新了应答器您必须以root用户身份运行netstat
命令(使用sudo
)为了查看PID和程序名,您可以编辑/etc/postgresql…/…/main/postgresql.conf
,以更改端口号。