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


当前回答

右键单击SQL server。我的是PostgresSQL 13和选择属性->连接。这有:

主机名 端口ID 用户名。

其他回答

选择inet_server_port ();提供服务器的端口。

可以使用psql \conninfo中的命令 在主机“host_name”上,以用户“user_name”在端口“port_number”连接到数据库“your_database”。

从终端你可以做:

\conninfo

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

\?

我认为PostgreSQL没有提供一个内置的函数来获取服务器的主机名,所以我们可能需要写一个扩展来从服务器获取信息。

我发现有一个PostgreSQL扩展pg-hostname,可以从服务器获取主机名。

当我们安装了扩展,我们可以启用,并通过inet_server_port和主机名函数查询信息。

CREATE EXTENSION hostname;

SELECT hostname(),inet_server_port();

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

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