一个**连接服务文件
**(通常以其默认文件名 pg_service.conf
引用)是一个配置文件,它允许将“服务”名称与一组libpq conninfo 参数关联起来。
这使得可以为不同的 PostgreSQL 服务器创建别名,这些别名通过提供 conninfo 的“service
”参数以及定义的服务名称来指定,例如:psql -d 'service=foo'
。
在连接服务文件
中定义的连接参数可以通过显式指定来覆盖,例如:psql -d 'service=foo user=bar'
。
格式
连接服务文件
是一个简单的 .ini
文件格式,其节名称用作用户定义的连接名称,后跟一个键/值对列表,这些键/值对表示 libpq conninfo 参数,例如:
[foo] host=foo.example.com user=bob port=12345
位置
连接服务文件
将在以下位置搜索
- 用户配置文件位于
~/.pg_service.conf
或环境变量PGSERVICEFILE
指定的位置 - 系统范围的文件位于
`pg_config --sysconfdir`/pg_service.conf
或环境变量PGSYSCONFDIR
指定的目录中
在用户配置文件中定义的服务会覆盖在系统范围的文件中定义的服务。
环境变量 PGSERVICEFILE
和 PGSYSCONFDIR
指定的文件位置将覆盖相应的默认值。如果在指定位置找不到文件,则不会回退到默认文件。
注意事项
- 无法定义应用于多个节的设置。
- 无法被 JDBC 使用。
更改历史记录
- PostgreSQL 7.1
- 添加(初始提交 f2ef4df4)
示例
在源代码中的 src/interfaces/libpq/pg_service.conf.sample 提供了一个非常简单的带注释的 pg_service.conf
示例文件。
参考文献
- PostgreSQL 文档: 连接服务文件
有用链接
- Postgres 连接服务文件 - 2016 年 10 月 End Point 博客文章
- pg_service.conf:被遗忘的配置文件 - 2016 年 2 月 CyberTec 博客文章