如何获取机器IP和机器名称

Riy*_*sal 5 postgresql

下面的查询给出服务器IP。但是我需要机器IP。请建议如何获取机器ip和机器名称。

select inet_client_addr();
Run Code Online (Sandbox Code Playgroud)

我使用下面的查询来获取计算机名称,但是没有用。

SELECT * FROM pg_stat_activity
WHERE client_addr = inet_client_addr()
Run Code Online (Sandbox Code Playgroud)

Lau*_*lbe 9

您的问题尚不清楚,但是如果您要连接的数据库服务器的IP地址,可以尝试

SELECT inet_server_addr();
Run Code Online (Sandbox Code Playgroud)

但是请记住,每台计算机都有几个IP地址。如果连接到localhost,则将获得127.0.0.1::1,具体取决于您使用的是IPv4还是IPv6。

没有任何功能可以找出数据库服务器的所有 IP地址。如果需要,您必须使用足够强大的不受限制的语言(例如PL / PerlU)编写函数。

  • 这同样适用于“inet_client_addr”。它将为您提供连接的 IP 地址。无法在数据库会话中获取同一台计算机的其他 IP 地址。您必须在外部程序中找到该地址,并将结果提供给数据库会话(如果需要的话)。 (3认同)