On 10/6/23 09:04, Andreas Kretschmer wrote:
Am 06.10.23 um 15:47 schrieb Tom Lane:
Luca Ferrari <fluca1978@gmail.com> writes:
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?
There's a comment about that in copy.c:
* We don't include generated columns in the generated full list and we don't
* allow them to be specified explicitly. They don't make sense for COPY
* FROM, but we could possibly allow them for COPY TO. But this way it's at
* least ensured that whatever we copy out can be copied back in.
ha, as always: read the source ;-)
Not sure how convincing that reasoning is, but it was at least
thought about. I do agree with it as far as the default column
list goes, but maybe we could allow explicit selection of these
columns in COPY TO.
sounds okay
Nah. "The programmer -- and DBA -- on the Clapham omnibus" quite reasonably expects that COPY table_name TO (output)" copies all the columns listed in "\d table_name".
https://en.wikipedia.org/wiki/Man_on_the_Clapham_omnibus "The man on the Clapham omnibus is a hypothetical ordinary and reasonable person, used by the courts in English law where it is necessary to decide whether a party has acted as a
reasonable person would – for example, in a civil action for negligence. The character is a
reasonably educated, intelligent but nondescript person, against whom the defendant's conduct can be measured."
--
Born in Arizona, moved to Babylonia.