有什么方法可以在 postgresql 中获取主机名/服务器名,例如 SQL Server 中的 @@ServerName?
您需要执行以下查询来获取主机名:
SELECT boot_val,reset_val
FROM pg_settings
WHERE name='listen_addresses';;
Run Code Online (Sandbox Code Playgroud)
PostgreSQL 不提供返回服务器主机名的内置函数。
用 C 编写的函数pg_gethostname()
(POSIX 的包装器gethostname()
)已在 wiki 上贡献,并作为 PGXN 上的扩展提供:
https://wiki.postgresql.org/wiki/Pg_gethostname
https://pgxn.org/dist/hostname/
如果您无法在服务器上安装它,或者无法在其他语言中安装支持系统调用的等效项(例如 plperlu 或 plpythonu),那么您可能会仅限于inet_server_addr()。
我使用这样的解决方案。无需插件。不需要临时表。仅适用于 UNIX。
select pg_read_file('/etc/hostname') as hostname;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34971 次 |
最近记录: |