我有PSQL运行,并试图得到一个perl应用程序连接到数据库。是否有命令来查找数据库正在运行的当前端口和主机?


当前回答

到“终端机”输入

service postgres status

在结果中,您可以获得端口的详细信息

在我的例子中,它运行在端口“5432”(默认)上。我用的是CentOS 7。希望这能有所帮助。

其他回答

SELECT CURRENT_USER usr, :'HOST' host, inet_server_port() port;

这里使用了psql内置的HOST变量

和postgres系统信息函数,文档在这里

service postgresql status

返回: 10/main(端口5432):online

我运行的是Ubuntu 18.04

这个命令将提供postgres端口号

 \conninfo

如果Postgres运行在Linux服务器上,也可以使用下面的命令

sudo netstat -plunt |grep postgres

或者(如果是邮政局长送来的)

sudo netstat -plunt |grep postmaster

你会看到类似的东西

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      140/postgres
tcp6       0      0 ::1:5432                :::*                    LISTEN      140/postgres

在本例中,端口号为5432,也是默认端口号

信贷:链接

我使用这样的解决方案。不需要插件。不需要临时表。仅适用于unix。

select pg_read_file('/etc/hostname') as hostname, setting as port from pg_settings where name='port';

从终端你可以做:

\conninfo

我建议阅读一份关于他们所有命令的详尽列表的文档:

\?