Re: Explicit psqlrc

gabrielle <gorthx@gmail.com>

From: gabrielle <gorthx@gmail.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Mark Wong <markwkm@gmail.com>, David Christensen <david@endpoint.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-06-21T23:51:49Z
Lists: pgsql-hackers
On Thu, 2010-06-17 at 14:50 -0400, Alvaro Herrera asked:
> How does it play with ON_ERROR_STOP/ROLLBACK?

With ON_ERROR_STOP=ON, psql issues an error when it encounters one,
stops processing the file that contains the error, and then continues
to process any remaining files.

I'm still investigating ON_ERROR_ROLLBACK.  I need to tinker with it
some more before I say anything concrete.

On Fri, Jun 18, 2010 at 1:48 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
> Also, how does it play with --single-transaction.
That was buried in our original report :) "BEGIN-COMMIT statements
within the files cause warnings when the command is wrapped in a
transaction with the -1 switch (as specified in the patch submission)"

To expand upon that a bit:  when psql encounters a file that contains
a BEGIN statement, you get the expected "WARNING: there is already a
transaction in progress" message.  The COMMIT at the end of that file
(assuming the user doesn't forget it) generates a COMMIT.  Commands
after that commit, or in any remaining files to be processed, are
dealt with according to the user's autocommit settings:
- if autocommit is ON, statements in the remaining files are processed
& committed;  the implicit COMMIT at the end of the whole thing then
generates a "WARNING: there is no transaction in progress" message
- if autocommit is OFF, statements in the remaining files generate
"ERROR:  current transaction is aborted, commands ignored until end of
transaction block" messages.

> I would like multiple -c commands also, as well as a mix of -f and -c.
> Can we add that at the same time please?

I'll leave this one for someone else to answer. :)

gabrielle