why generated columsn cannot be used in COPY TO?

From: Luca Ferrari <fluca1978(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: why generated columsn cannot be used in COPY TO?
Date: 2023-10-06 11:53:33
Message-ID: CAKoxK+5=P6wJw=_UrzAQOBnGiHuq3kaXuPxuFh9_hTQc4nv89Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all,
I'm wondering why in COPY TO (file or program) I cannot use generated
columns: since I'm pushing data out of the table, why they are not
allowed?

Example:

testdb=# CREATE TABLE test( pk int generated always as identity primary key
, ts timestamp default current_timestamp
, month int generated always as ( extract( month from ts ) ) stored
);

testdb=# insert into test( ts ) values( current_timestamp );

testdb=# copy test to program 'head'; -- ok but silently removes the column
COPY 1
testdb=# copy test( month ) to program 'head';
ERROR: column "month" is a generated column
DETAIL: Generated columns cannot be used in COPY.

Thanks,
Luca

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kretschmer 2023-10-06 12:20:35 Re: why generated columsn cannot be used in COPY TO?
Previous Message Anuwat Sagulmontreechai 2023-10-06 06:31:12 RE: Ask about Foreign Table Plug-in on Windows Server.