pgsql: Disable WAL-skipping optimization for COPY on views

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Disable WAL-skipping optimization for COPY on views
Date: 2018-12-23 07:49:05
Message-ID: E1gayVV-0000Sm-Q7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Disable WAL-skipping optimization for COPY on views

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 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.

A test is added to cover this case, which needs to have wal_level set to
minimal to allow the problem to show up, and that is not the default
configuration.

Reported-by: Etsuro Fujita
Author: 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_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/15f69279e0e85bc4b3cf9593ad090515e500613c

Modified Files
--------------
src/backend/commands/copy.c | 5 +++++
src/test/regress/expected/copy2.out | 18 ++++++++++++++++++
src/test/regress/sql/copy2.sql | 16 ++++++++++++++++
3 files changed, 39 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2018-12-23 08:04:53 Re: pgsql: Update ssl test certificates and keys
Previous Message Michael Paquier 2018-12-23 00:34:55 pgsql: Add completion for storage parameters after CREATE TABLE WITH in