# 34.18.LDAP查找连接参数

如果libpq已使用LDAP支持编译(选项--使用ldap对于配置)可以检索连接选项,如主办库名从中央服务器通过LDAP。其优点是,如果数据库的连接参数发生更改,则不必在所有客户机上更新连接信息。

LDAP连接参数查找使用连接服务文件PGU服务。形态(见第34.17节).电话里的一行PGU服务。形态第一节ldap://将被识别为LDAP URL,并将执行LDAP查询。结果必须是一个列表关键字=值将用于设置连接选项的对。URL必须符合RFC 1959 (opens new window)并保持原样

ldap://[hostname[:port]]/search_base?attribute?search_scope?filter

哪里*主机名默认为本地服务器港口城市*默认值为389.

加工PGU服务。形态在成功的LDAP查找后终止,但如果无法联系LDAP服务器,则继续。这是为了通过指向不同LDAP服务器的进一步LDAP URL行提供回退,例如关键字=值配对,或默认连接选项。如果您希望在这种情况下获得错误消息,请在LDAP URL后添加一行语法错误的行。

使用LDIF文件创建的LDAP条目示例

version:1
dn:cn=mydatabase,dc=mycompany,dc=com
changetype:add
objectclass:top
objectclass:device
cn:mydatabase
description:host=dbserver.mycompany.com
description:port=5439
description:dbname=mydb
description:user=mydb_user
description:sslmode=require

可能使用以下LDAP URL进行查询:

ldap://ldap.mycompany.com/dc=mycompany,dc=com?description?one?(cn=mydatabase)

您还可以将常规服务文件条目与LDAP查找混合使用。一个完整的例子,一节在PGU服务。形态将是:

# only host and port are stored in LDAP, specify dbname and user explicitly
[customerdb]
dbname=customer
user=appuser
ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)