Re: [PATCH 4/4] Add tests to dblink covering use of COPY TO FUNCTION
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: Daniel Farina <drfarina@acm.org>, Greg Smith <greg@2ndquadrant.com>, Simon Riggs <simon@2ndquadrant.com>, Hannu Krosing <hannu@krosing.net>, Daniel Farina <dfarina@truviso.com>, pgsql-hackers@postgresql.org
Date: 2009-12-30T05:00:34Z
Lists: pgsql-hackers
On Tue, Dec 29, 2009 at 11:44 PM, Jeff Davis <pgsql@j-davis.com> wrote: > On Tue, 2009-12-29 at 23:11 -0500, Robert Haas wrote: >> I fear that to make this really useful we would need to define some >> new SQL syntax, like: >> >> CREATE [OR REPLACE] COPY TARGET name (STARTUP function_name, STREAM >> function_name, SHUTDOWN function_name); >> DROP COPY TARGET name; >> GRANT USAGE ON COPY TARGET TO ...; >> >> COPY ... TO/FROM TARGET name (generic_option_list) WITH (options); > > Similar ideas were already suggested: > > http://archives.postgresql.org/pgsql-hackers/2009-11/msg01601.php > http://archives.postgresql.org/pgsql-hackers/2009-11/msg01610.php Sorry, it's been a while since I've read through this thread and I am not as up on it as perhaps I should be. I generally agree with those ideas, although I think that trying to make the existing aggregate interface serve this purpose will probably turn out to be trying to make a square peg fit a round hole. > Regardless, I think there needs to be a way to pass arguments to the > functions (at least the startup one). The obvious use case is to pass > the destination table name, so that you don't have to define a separate > target for each destination table. Agreed, note that I suggested a way to do that. ...Robert