pgsql: Disable WAL-skipping optimization for COPY on views andforeign - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Disable WAL-skipping optimization for COPY on views andforeign
Date
Msg-id E1gayVV-0000Sl-Q0@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Disable WAL-skipping optimization for COPY on views and foreign tables

COPY can skip writing WAL when loading data on a table which has been
created in the same transaction as the one loading the data, however
this cannot work on views or foreign table as this would result in
trying to flush relation files which do not exist.  So disable the
optimization so as commands are able to work the same way with any
configuration of wal_level.

Tests are added to cover the different cases, which need to have
wal_level set to minimal to allow the problem to show up, and that is
not the default configuration.

Reported-by: Luis M. Carril, Etsuro Fujita
Author: Amit Langote, Michael Paquier
Reviewed-by: Etsuro Fujita
Discussion: https://postgr.es/m/15552-c64aa14c5c22f63c@postgresql.org
Backpatch-through: 10, where support for COPY on views has been added,
while v11 has added support for COPY on foreign tables.

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/ff9c222669063d7a17b179bc19617caf9c1f67ea

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 16 ++++++++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql      | 14 ++++++++++++++
src/backend/commands/copy.c                    |  9 ++++++++-
src/test/regress/expected/copy2.out            | 18 ++++++++++++++++++
src/test/regress/sql/copy2.sql                 | 16 ++++++++++++++++
5 files changed, 72 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Michael Paquier
Date:
Subject: pgsql: Add completion for storage parameters after CREATE TABLE WITHin
Next
From: Michael Paquier
Date:
Subject: pgsql: Prioritize history files when archiving