My coworker Dan suggested that some people copy and paste scripts. However
I feel that that is an orthogonal problem and if there is a very high rate
of input psql should detect that and turn interactive off. And I
still strongly feel that on_error_rollback=interactive should be the
default.

Until then, I've included this as a PSA at the start of any postgres talks
I've given, because it's simply not widely known.

On Mon, Nov 14, 2011 at 2:19 PM, Ross Reedstrom <reeds...@rice.edu> 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.gritt...@wicourts.gov
> > > > wrote:
> > >
> > > > Alvaro Herrera <alvhe...@commandprompt.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.
>
> Ross
> --
> Ross Reedstrom, Ph.D.                                 reeds...@rice.edu
> Systems Engineer & Admin, Research Scientist        phone: 713-348-6166
> Connexions                  http://cnx.org            fax: 713-348-3665
> Rice University MS-375, Houston, TX 77005
> GPG Key fingerprint = F023 82C8 9B0E 2CC6 0D8E  F888 D3AE 810E 88F0 BEDE
>

Reply via email to