int i_fdwowner;
int i_fdwhandler;
int i_fdwvalidator;
+ int i_fdwconnection;
int i_fdwacl;
int i_acldefault;
int i_fdwoptions;
appendPQExpBufferStr(query, "SELECT tableoid, oid, fdwname, "
"fdwowner, "
"fdwhandler::pg_catalog.regproc, "
- "fdwvalidator::pg_catalog.regproc, "
+ "fdwvalidator::pg_catalog.regproc, ");
+
+ if (fout->remoteVersion >= 190000)
+ appendPQExpBufferStr(query, "fdwconnection::pg_catalog.regproc, ");
+ else
+ appendPQExpBufferStr(query, "'-' AS fdwconnection, ");
+
+ appendPQExpBufferStr(query,
"fdwacl, "
"acldefault('F', fdwowner) AS acldefault, "
"array_to_string(ARRAY("
i_fdwowner = PQfnumber(res, "fdwowner");
i_fdwhandler = PQfnumber(res, "fdwhandler");
i_fdwvalidator = PQfnumber(res, "fdwvalidator");
+ i_fdwconnection = PQfnumber(res, "fdwconnection");
i_fdwacl = PQfnumber(res, "fdwacl");
i_acldefault = PQfnumber(res, "acldefault");
i_fdwoptions = PQfnumber(res, "fdwoptions");
fdwinfo[i].rolname = getRoleName(PQgetvalue(res, i, i_fdwowner));
fdwinfo[i].fdwhandler = pg_strdup(PQgetvalue(res, i, i_fdwhandler));
fdwinfo[i].fdwvalidator = pg_strdup(PQgetvalue(res, i, i_fdwvalidator));
+ fdwinfo[i].fdwconnection = pg_strdup(PQgetvalue(res, i, i_fdwconnection));
fdwinfo[i].fdwoptions = pg_strdup(PQgetvalue(res, i, i_fdwoptions));
/* Decide whether we want to dump it */
if (strcmp(fdwinfo->fdwvalidator, "-") != 0)
appendPQExpBuffer(q, " VALIDATOR %s", fdwinfo->fdwvalidator);
+ if (strcmp(fdwinfo->fdwconnection, "-") != 0)
+ appendPQExpBuffer(q, " CONNECTION %s", fdwinfo->fdwconnection);
+
if (strlen(fdwinfo->fdwoptions) > 0)
appendPQExpBuffer(q, " OPTIONS (\n %s\n)", fdwinfo->fdwoptions);