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.t...@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 <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml new file mode 100644 index b6bf6a3..1ba5ea8 *** a/doc/src/sgml/ref/psql-ref.sgml --- b/doc/src/sgml/ref/psql-ref.sgml *************** PostgreSQL documentation *** 99,105 **** <command>BEGIN</>/<command>COMMIT</> commands included in the string to divide it into multiple transactions. This is different from the behavior when the same string is fed to ! <application>psql</application>'s standard input. </para> </listitem> </varlistentry> --- 99,106 ---- <command>BEGIN</>/<command>COMMIT</> commands included in the string to divide it into multiple transactions. This is different from the behavior when the same string is fed to ! <application>psql</application>'s standard input. Also, only ! the result of the last SQL command is returned. </para> </listitem> </varlistentry>
-- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs