diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2018-11-19 11:16:28 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2018-11-19 11:16:28 -0300 |
commit | 85efd1a04175951a97b087908121403e4cf4ef7a (patch) | |
tree | 3d6b78061e12df79d978f2d8b7d5daf76932e17b /doc/src | |
parent | afbe03f6547015790d13d21d5eb5083cc604eeec (diff) |
Disallow COPY FREEZE on partitioned tables
This didn't actually work: COPY would fail to flush the right files, and
instead would try to flush a non-existing file, causing the whole
transaction to fail.
Cope by raising an error as soon as the command is sent instead, to
avoid a nasty later surprise. Of course, it would be much better to
make it work, but we don't have a patch for that yet, and we don't know
if we'll want to backpatch one when we do.
Reported-by: Tomas Vondra
Author: David Rowley
Reviewed-by: Amit Langote, Steve Singer, Tomas Vondra
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/perform.sgml | 4 | ||||
-rw-r--r-- | doc/src/sgml/ref/copy.sgml | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml index e7f17b9fa9d..e1e65c057e0 100644 --- a/doc/src/sgml/perform.sgml +++ b/doc/src/sgml/perform.sgml @@ -1523,8 +1523,8 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse; needs to be written, because in case of an error, the files containing the newly loaded data will be removed anyway. However, this consideration only applies when - <xref linkend="guc-wal-level"> is <literal>minimal</> as all commands - must write WAL otherwise. + <xref linkend="guc-wal-level"> is <literal>minimal</> for + non-partitioned tables as all commands must write WAL otherwise. </para> </sect2> diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml index 732efe69e66..3054123b7fa 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -224,7 +224,9 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable This is intended as a performance option for initial data loading. Rows will be frozen only if the table being loaded has been created or truncated in the current subtransaction, there are no cursors - open and there are no older snapshots held by this transaction. + open and there are no older snapshots held by this transaction. It is + currently not possible to perform a <command>COPY FREEZE</command> on + a partitioned table. </para> <para> Note that all other sessions will immediately be able to see the data |