From: Chris Browne <cbbrowne@acm.org>
To: pgsql-interfaces@postgresql.org
Subject: Re: COPY FROM STDIN fails inside Pl/pgSQL function or in PgAdmin , but ok in psql
Date: Mon, 29 Aug 2005 18:16:26 -0400
Message-ID: <60psrw75j9.fsf@dba2.int.libertyrms.com> (raw)
References: <000501c5acc9$83747aa0$0501a8c0@plexus>
smacedo@calmetric.pt ("Silvio Macedo") writes:
> (Pg 8.0.3 on Windows XP SP2, client psql, ODBC and pgAdmin )
>
> Summary: COPY FROM STDIN works on psql, but not inside a Pl/pgSQL
> function, nor a pgAdmin SQL window, and not on a ODBC command...
I believe that it's because inside "those places," you don't have
either a stdin or a stdout.
One of our folks ran into the same situation, and the same surprise.
See:
<http://archives.postgresql.org/pgsql-hackers/2005-07/msg00949.php;
<http://archives.postgresql.org/pgsql-hackers/2005-07/msg01067.php;
<http://archives.postgresql.org/pgsql-hackers/2005-07/msg00997.php;
Bruno Wolfe suggests the problem is because pl/pgsql is considered a
"trusted" language, which thus shouldn't be able to read/write files.
In a more recent CVS, Tom points out that this elicits a more
meaningful error message:
ERROR: cannot COPY to/from client in PL/pgSQL
CONTEXT: PL/pgSQL function "build_table" line 2 at execute statement
He also points out that this is taking place inside a SELECT, and that
the client library would likely get confused at this 'abuse' of the
protocol...
--
let name="cbbrowne" and tld="acm.org" in String.concat "@" [name;tld];;
http://cbbrowne.com/info/emacs.html
Rules of the Evil Overlord #127. "Prison guards will have their own
cantina featuring a wide variety of tasty treats that will deliver
snacks to the guards while on duty. The guards will also be informed
that accepting food or drink from any other source will result in
execution." <http://www.eviloverlord.com/;
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: cbbrowne@acm.org
Subject: Re: COPY FROM STDIN fails inside Pl/pgSQL function or in PgAdmin , but ok in psql
In-Reply-To: <60psrw75j9.fsf@dba2.int.libertyrms.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox