diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index e3ee30f1aa..fe47cff920 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -188,7 +188,7 @@ ALTER USER MAPPING FOR public SERVER testserver1 ALTER USER MAPPING FOR public SERVER testserver1 OPTIONS (ADD sslmode 'require'); ERROR: invalid option "sslmode" -HINT: Valid options in this context are: user, password, sslpassword, password_required, sslcert, sslkey +HINT: Valid options in this context are: user, password, sslpassword, ldapuser, password_required, sslcert, sslkey -- But we can add valid ones fine ALTER USER MAPPING FOR public SERVER testserver1 OPTIONS (ADD sslpassword 'dummy'); diff --git a/contrib/postgres_fdw/option.c b/contrib/postgres_fdw/option.c index c574ca2cf3..0d9a070dc3 100644 --- a/contrib/postgres_fdw/option.c +++ b/contrib/postgres_fdw/option.c @@ -306,10 +306,12 @@ InitPgFdwOptions(void) popt->keyword = lopt->keyword; /* - * "user" and any secret options are allowed only on user mappings. - * Everything else is a server option. + * "user", "ldapuser", and any secret options are allowed only on user + * mappings. Everything else is a server option. */ - if (strcmp(lopt->keyword, "user") == 0 || strchr(lopt->dispchar, '*')) + if (strcmp(lopt->keyword, "user") == 0 || + strcmp(lopt->keyword, "ldapuser") == 0 || + strchr(lopt->dispchar, '*')) popt->optcontext = UserMappingRelationId; else popt->optcontext = ForeignServerRelationId; diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml index 0075bc3dbb..32a0d35e4f 100644 --- a/doc/src/sgml/postgres-fdw.sgml +++ b/doc/src/sgml/postgres-fdw.sgml @@ -120,7 +120,8 @@ - user, password and sslpassword (specify these + user, ldapuser, + password and sslpassword (specify these in a user mapping, instead, or use a service file)