mirror of
https://github.com/postgres/postgres.git
synced 2025-06-11 20:28:21 +03:00
postgres_fdw: Allow fetch_size to be set per-table or per-server.
The default fetch size of 100 rows might not be right in every environment, so allow users to configure it. Corey Huinker, reviewed by Kyotaro Horiguchi, Andres Freund, and me.
This commit is contained in:
@ -131,6 +131,17 @@ postgres_fdw_validator(PG_FUNCTION_ARGS)
|
||||
/* check list syntax, warn about uninstalled extensions */
|
||||
(void) ExtractExtensionList(defGetString(def), true);
|
||||
}
|
||||
else if (strcmp(def->defname, "fetch_size") == 0)
|
||||
{
|
||||
int fetch_size;
|
||||
|
||||
fetch_size = strtol(defGetString(def), NULL,10);
|
||||
if (fetch_size <= 0)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("%s requires a non-negative integer value",
|
||||
def->defname)));
|
||||
}
|
||||
}
|
||||
|
||||
PG_RETURN_VOID();
|
||||
@ -162,6 +173,9 @@ InitPgFdwOptions(void)
|
||||
/* updatable is available on both server and table */
|
||||
{"updatable", ForeignServerRelationId, false},
|
||||
{"updatable", ForeignTableRelationId, false},
|
||||
/* fetch_size is available on both server and table */
|
||||
{"fetch_size", ForeignServerRelationId, false},
|
||||
{"fetch_size", ForeignTableRelationId, false},
|
||||
{NULL, InvalidOid, false}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user