Hi, I found that generated columns and system columns cannot be used in COPY FROM WHERE expressions, but the COPY docs still mentions only the restriction on subqueries.
So I've created the attached patch which updates the docs to also list generated columns and system columns as unsupported in COPY FROM WHERE expressions. Since generated columns have been rejected in COPY FROM WHERE since v13, that docs change should be backpatched to all supported branches. But the system-column restriction was introduced in v19, so that part does not need to be backpatched. Thoughts? Regards, -- Fujii Masao
From 168af14a081eec04c03e509df21715cafa81582d Mon Sep 17 00:00:00 2001 From: Fujii Masao <[email protected]> Date: Fri, 26 Jun 2026 00:56:51 +0900 Subject: [PATCH v1] doc: Clarify COPY FROM WHERE expression restrictions Commit aa606b9316a disallowed generated columns in COPY FROM WHERE expressions, and commit 21c69dc73f9 disallowed system columns. However, the COPY reference page still mentions only the restriction on subqueries. Update the documentation to also list generated columns and system columns as unsupported in COPY FROM WHERE expressions. Backpatch the generated-column documentation change to all supported branches. The system-column restriction was introduced in v19, so that part does not need to be backpatched. --- doc/src/sgml/ref/copy.sgml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/ref/copy.sgml b/doc/src/sgml/ref/copy.sgml index 8433344e5b6..5413bb0e12d 100644 --- a/doc/src/sgml/ref/copy.sgml +++ b/doc/src/sgml/ref/copy.sgml @@ -480,10 +480,11 @@ WHERE <replaceable class="parameter">condition</replaceable> </para> <para> - Currently, subqueries are not allowed in <literal>WHERE</literal> - expressions, and the evaluation does not see any changes made by the - <command>COPY</command> itself (this matters when the expression - contains calls to <literal>VOLATILE</literal> functions). + Currently, subqueries and generated columns are not allowed in + <literal>WHERE</literal> expressions, and the evaluation does not see + any changes made by the <command>COPY</command> itself (this matters + when the expression contains calls to <literal>VOLATILE</literal> + functions). </para> </listitem> -- 2.53.0
v1-0001-doc-Clarify-COPY-FROM-WHERE-expression-restrictio.patch
Description: Binary data
