On Thu, Jul 14, 2011 at 10:10:28AM +0800, Craig Ringer wrote:
> On 14/07/2011 4:53 AM, Aleksey Tsalolikhin wrote:
> >The following bug has been logged online:
> >
> >Bug reference: 6117
> >Logged by: Aleksey Tsalolikhin
> >Email address: atsaloli.tech@gmail.com
> >PostgreSQL version: 8.4.8
> >Operating system: CentOS 5.5 (64-bit)
> >Description: psql -c does not work as expected. a documentation bug?
> > a program bug?
> >Details:
> >
> >The psql man page says, in the section for the -c option:
> >
> > If the command string contains multiple SQL
> > commands, they are processed in a single
> > transaction
> >
> >However when I run a command string with multiple
> >SQL commands, apparently only the last one is
> >processed.
> >
> What's happening is that all of them are processed, but only the
> output for the last one is emitted. I agree that the documentation
> isn't clear about that, and I'm not sure whether or not that was the
> intended result.
>
> psql -c "CREATE TABLE test(x integer); INSERT INTO test(x) VALUES
> (1),(2),(3); SELECT version(); SELECT * FROM test;"
> x
> ---
> 1
> 2
> 3
> (3 rows)
>
>
> Comments anybody? Just fix the docs, or is this a behaviour issue?
I have added documentation for this behavior. Patch attached, and
backpatched to 9.2 and 9.1.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +