I manage a Debian/Linux machine which runs PostgreSQL 7.4.7.
All the user accounts, including mine, are in a LDAP database. Thanks
to NSS (Name Service Switch) all applications have access to the LDAP
accounts (getpwuid(3) and getpwnam(3) use LDAP). But not PostgreSQL.
When I connect locally (Linux as SO_PEERCRED so the ident daemon is
not used) with the "ident" method, I get rejected.
If I create an ident map to map the numeric UID to my name, it works:
# MAPNAME IDENT-USERNAME PG-USERNAME
ldapuser 1000 bortzmeyer
It is of course very inconvenient to duplicate my LDAP database into
pg_ident.conf. Is there a better way?