一个连接服务文件
(通常以其默认文件名 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 连接服务文件 - End Point 于 2016 年 10 月发布的博客文章
- pg_service.conf:被遗忘的配置文件 - CyberTec 于 2016 年 2 月发布的博客文章