Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query). - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).
Date
Msg-id 442e62f7-ef64-4df1-8453-d682fe9bdaa3@dunslane.net
Whole thread Raw
In response to Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).  ("David G. Johnston" <david.g.johnston@gmail.com>)
Responses Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).
List pgsql-hackers


On 2025-03-29 Sa 12:17 PM, David G. Johnston wrote:
On Sat, Mar 29, 2025 at 9:06 AM Andrew Dunstan <andrew@dunslane.net> wrote:


On 2025-03-29 Sa 10:40 AM, David G. Johnston wrote:
On Saturday, March 29, 2025, Kirill Reshke <reshkekirill@gmail.com> wrote:
On Sat, 29 Mar 2025 at 09:47, jian he <jian.universality@gmail.com> wrote:
>
> will use {table_beginscan, table_scan_getnextslot, table_endscan}
> to output the data.
> but views don't have storage, table_beginscan mechanism won't work.
>
> so i don't think this is possible for view.

Well... So you are saying that let us have inconsistent features
because of how things are implemented in core... I don't sure I'm
buying that, but whatever, let's hear some other voices from the
community. My argument is that while we are working on it, perhaps we
should revise certain implementation specifics along the way. However,
this is merely my opinion on the matter.

 At present copy {table} to only exists to support pg_dump.  It is not marketed as a general purpose export facility. 


*ahem*


What is your evidence for that proposition? If this were true we would not support CSV mode, which pg_dump does not use. It might have limitations, but its use goes far beyond just pg_dump, both in theory and practice.




"copy {subquery} to" is a general-purpose exporter that makes use of those additional features.  Sure, they also work for the narrowed case of "copy {relation/table} to" but I make my claim on the very fact that {relation} cannot be stuff like foreign tables or partitioned tables, which pg_dump has no need to target.




I don't believe that the premise supports the conclusion.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Srinath Reddy
Date:
Subject: Re: getting "shell command argument contains a newline or carriage return:" error with pg_dumpall when db name have new line in double quote
Next
From: "David G. Johnston"
Date:
Subject: Re: in BeginCopyTo make materialized view using COPY TO instead of COPY (query).