postgresql/contrib
Michael Paquier bf491a9073 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.
2018-12-23 16:42:22 +09:00
..
adminpack Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
amcheck Fix some errhint and errdetail strings missing a period 2018-12-07 07:47:42 +09:00
auth_delay Update copyright for 2018 2018-01-02 23:30:12 -05:00
auto_explain Fix issues around EXPLAIN with JIT. 2018-10-03 12:48:37 -07:00
bloom Add PGXS options to control TAP and isolation tests, take two 2018-12-03 09:27:35 +09:00
btree_gin Provide separate header file for built-in float types 2018-07-29 03:30:48 +02:00
btree_gist Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
citext Add a 64-bit hash function for type citext. 2018-11-23 13:24:45 -05:00
cube Make float exponent output on Windows look the same as elsewhere. 2018-10-12 11:14:27 -04:00
dblink Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
dict_int Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
dict_xsyn Avoid unnecessary use of pg_strcasecmp for already-downcased identifiers. 2018-01-26 18:25:14 -05:00
earthdistance Fix earthdistance test suite function name typo. 2018-07-29 12:02:07 -07:00
file_fdw Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
fuzzystrmatch Replace search.cpan.org with metacpan.org 2018-06-29 22:02:20 +09:00
hstore Fix hstore hash function for empty hstores upgraded from 8.4. 2018-11-24 09:59:49 +00:00
hstore_plperl Still further rethinking of build changes for macOS Mojave. 2018-10-18 14:55:23 -04:00
hstore_plpython Fix out-of-tree build for transform modules. 2018-09-16 18:46:45 +01:00
intagg
intarray Avoid crashes in contrib/intarray gist__int_ops (bug #15518) 2018-11-24 08:48:36 +00:00
isn Provide for contrib and pgxs modules to install include files. 2018-07-31 20:07:39 +01:00
jsonb_plperl Still further rethinking of build changes for macOS Mojave. 2018-10-18 14:55:23 -04:00
jsonb_plpython Remove redundant allocation 2018-10-05 17:10:58 +02:00
lo lo: Add test suite 2017-09-14 22:22:59 -04:00
ltree Allow btree comparison functions to return INT_MIN. 2018-10-05 16:01:29 -04:00
ltree_plpython Fix out-of-tree build for transform modules. 2018-09-16 18:46:45 +01:00
oid2name Add PGXS options to control TAP and isolation tests, take two 2018-12-03 09:27:35 +09:00
pageinspect Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
passwordcheck Update copyright for 2018 2018-01-02 23:30:12 -05:00
pg_buffercache Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
pg_freespacemap
pg_prewarm Silence compiler warnings 2018-11-23 13:01:05 -03:00
pg_standby Integrate recovery.conf into postgresql.conf 2018-11-25 16:33:40 +01:00
pg_stat_statements Revoke pg_stat_statements_reset() permissions 2018-09-25 09:55:44 +09:00
pg_trgm Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
pg_visibility Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
pgcrypto Allow btree comparison functions to return INT_MIN. 2018-10-05 16:01:29 -04:00
pgrowlocks Replace AclObjectKind with ObjectType 2018-01-19 14:01:15 -05:00
pgstattuple pgstatindex, pageinspect: handle partitioned indexes 2018-05-09 14:22:59 -03:00
postgres_fdw Disable WAL-skipping optimization for COPY on views and foreign tables 2018-12-23 16:42:22 +09:00
seg Make float exponent output on Windows look the same as elsewhere. 2018-10-12 11:14:27 -04:00
sepgsql Update sepgsql regression test results for commit ca4103025. 2018-12-18 11:40:10 -05:00
spi Remove timetravel extension. 2018-10-11 11:43:56 -07:00
sslinfo Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
start-scripts Remove contrib/start-scripts/osx/. 2017-11-17 12:53:20 -05:00
tablefunc Update copyright for 2018 2018-01-02 23:30:12 -05:00
tcn Post-feature-freeze pgindent run. 2018-04-26 14:47:16 -04:00
test_decoding Add PGXS options to control TAP and isolation tests, take two 2018-12-03 09:27:35 +09:00
tsm_system_rows Update copyright for 2018 2018-01-02 23:30:12 -05:00
tsm_system_time Rethink how to get float.h in old Windows API for isnan/isinf 2018-07-11 09:11:48 -04:00
unaccent Remove WITH OIDS support, change oid catalog column visibility. 2018-11-20 16:00:17 -08:00
uuid-ossp Update copyright for 2018 2018-01-02 23:30:12 -05:00
vacuumlo Add PGXS options to control TAP and isolation tests, take two 2018-12-03 09:27:35 +09:00
xml2 Phase 3 of pgindent updates. 2017-06-21 15:35:54 -04:00
contrib-global.mk
Makefile Transforms for jsonb to PL/Perl 2018-04-03 09:47:18 -04:00
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.