连接服务文件

一个配置文件,用于将“服务”名称与连接参数关联起来

一个连接服务文件(通常称为默认文件名 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 指定的目录中

用户文件中定义的服务的优先级高于系统范围文件中定义的服务的优先级。

由环境变量 PGSERVICEFILEPGSYSCONFDIR 指定的文件位置将覆盖各自的默认值。如果文件未在指定位置找到,则不会回退到默认文件。

psql

PostgreSQL 18 开始,如果使用了服务名称,则可以从 SERVICE 变量中检索它,并使用 %s 参数在提示符中显示。

注意事项

  • 无法定义适用于多个节的设置
  • 无法被 JDBC 使用

变更历史

示例

源代码中提供了一个非常精简的带注释的 pg_service.conf 示例文件,位于 src/interfaces/libpq/pg_service.conf.sample

分类

配置, 数据库连接

反馈

在此处提交有关“连接服务文件”的任何评论、建议或更正 这里