mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
Avoid retrieval of CHECK constraints and DEFAULT exprs in data-only dump
Those extra queries are not necessary when doing a data-only dump. With this change, this means that the dependencies between CHECK/DEFAULT and the parent table are not tracked anymore for a data-only dump. However, these dependencies are only used for the schema generation and we have never guaranteed that a dump can be reloaded if a CHECK constraint uses a custom function whose behavior changes when loading the data, like when using cross-table references in the CHECK function. Author: Julien Rouhaud Reviewed-by: Daniel Gustafsson, Michael Paquier Discussion: https://postgr.es/m/20200712054850.GA92357@nol
This commit is contained in:
parent
c8aeaf3ab3
commit
5423853fee
@ -8644,9 +8644,10 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
PQclear(res);
|
||||
|
||||
/*
|
||||
* Get info about column defaults
|
||||
* Get info about column defaults. This is skipped for a data-only
|
||||
* dump, as it is only needed for table schemas.
|
||||
*/
|
||||
if (hasdefaults)
|
||||
if (!dopt->dataOnly && hasdefaults)
|
||||
{
|
||||
AttrDefInfo *attrdefs;
|
||||
int numDefaults;
|
||||
@ -8731,9 +8732,10 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
}
|
||||
|
||||
/*
|
||||
* Get info about table CHECK constraints
|
||||
* Get info about table CHECK constraints. This is skipped for a
|
||||
* data-only dump, as it is only needed for table schemas.
|
||||
*/
|
||||
if (tbinfo->ncheck > 0)
|
||||
if (!dopt->dataOnly && tbinfo->ncheck > 0)
|
||||
{
|
||||
ConstraintInfo *constrs;
|
||||
int numConstrs;
|
||||
|
Loading…
Reference in New Issue
Block a user