在postgres中,可以使用service connection file (pg_service.conf)在中心位置定义主机,端口,用户名,数据库名称等参数。
我想向用户显示所有当前可用服务的列表。
对于文件~/.pg_service.conf
[test_db]
host=localhost
db=test
[production_db]
host=4.3.2.1
db=prod
[other_db]
host=localhost
db=other
那应该是一个列表
根据环境变量(PGSERVICEFILE
,PGSYSCONFDIR
),用户目录,系统配置(pg_config --sysconfdir
)解决这些服务的配置文件。如果存在多个文件,显然服务与某些优先级合并。
可以花一些时间来实现一些逻辑来执行此查找。但是可能有其他方法可以做到这一点?像
这样的东西pg_config --list-services
我也有psycopg2 / python可用。所以类似下面这样的东西也会起作用
psycopg2.available_services()
收集系统上定义的所有可用服务的最简单(最可靠)方法是什么?