Re: feature request: auto savepoint for interactive psql when in transaction.

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Ross Reedstrom <reedstrm(at)rice(dot)edu>
Cc: David Fetter <david(at)fetter(dot)org>, Gurjeet Singh <singh(dot)gurjeet(at)gmail(dot)com>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Will Leinweber <will(at)heroku(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: feature request: auto savepoint for interactive psql when in transaction.
Date: 2012-08-16 02:26:55
Message-ID: 20120816022655.GG8353@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Nov 14, 2011 at 04:19:30PM -0600, Ross Reedstrom wrote:
> On Wed, Sep 28, 2011 at 11:47:51AM -0700, David Fetter wrote:
> > On Wed, Sep 28, 2011 at 02:25:44PM -0400, Gurjeet Singh wrote:
> > > On Wed, Sep 28, 2011 at 1:51 PM, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov
> > > > wrote:
> > >
> > > > Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> > > >
> > > > > See ON_ERROR_ROLLBACK
> > > > > http://www.postgresql.org/docs/9.0/static/app-psql.html
> > > >
> > > > I had missed that. Dang, this database product is rich with nice
> > > > features! :-)
> > > >
> > >
> > > +1
> > >
> > > I would like it to be on/interactive by default, though.
> >
> > You can have it by putting it in your .psqlrc.
> >
> > If we were just starting out, I'd be all for changing the defaults,
> > but we're not. We'd break things unnecessarily if we changed this
> > default.
> >
>
> This discussion died out with a plea for better documentation, and perhaps some
> form of discoverability. I've scanned ahead and see no further discussion.
> However, I'm wondering, what use-cases would be broken by setting the default
> to 'interactive'? Running a non-interactive script by piping it to psql?
> Reading the code, I see that case is covered: the definition of 'interactive'
> includes both stdin and stdout are a tty, and the source of commands is stdin.
> Seems this functionality appeared in version 8.1. Was there discussion re:
> making it the default at that time? I'm all for backward compatibility, but I'm
> having trouble seeing what would break.
>
> I see that Peter blogged about this from a different angle over a year ago
> (http://petereisentraut.blogspot.com/2010/03/running-sql-scripts-with-psql.html)
> which drew a comment from Tom Lane that perhaps we need a better/different tool
> for running scripts. That would argue the defaults for psql proper should favor
> safe interactive use (autocommit off, anyone?) Peter mentioned the traditional
> method unix shells use to handle this: different config files are read for
> interactive vs. non-interactive startup. Seems we have that, just for the one
> setting ON_ERROR_ROLLBACK.

What documentation improvement are you suggesting? The docs seem clear
to me.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2012-08-16 02:31:45 Re: ToDo: allow to get a number of processed rows by COPY statement
Previous Message Bruce Momjian 2012-08-16 00:52:45 Re: SSL key with passphrase