On Sun, Jun 17, 2012 at 12:00:20AM -0400, nik9...@gmail.com wrote:
> I've always used -1-f - < file.sql. It is confusing that -1 doesn't warn you 
> when it wont work though. 

This will be fixed in 9.3 with this commit:

        commit be690e291d59e8d0c9f4df59abe09f1ff6cc0da9
        Author: Robert Haas <rh...@postgresql.org>
        Date:   Thu Aug 9 09:59:45 2012 -0400
        
            Make psql -1 < file behave as expected.
        
            Previously, the -1 option was silently ignored.
        
            Also, emit an error if -1 is used in a context where it won't be
            respected, to avoid user confusion.
        
            Original patch by Fabien COELHO, but this version is quite different
            from the original submission.

---------------------------------------------------------------------------


> 
> Sent from my iPhone
> 
> On Jun 16, 2012, at 3:42 AM, Fabien COELHO <coe...@cri.ensmp.fr> wrote:
> 
> > 
> > Hello pgdev,
> > 
> > (Second attempt)
> > 
> > I've conducted a statistical study about PostgreSQL use in OSS. One of the 
> > result is that quite a few projects have errors in their SQL setup scripts 
> > which lead to some statements to be ignored, typically somme ADD 
> > CONSTRAINTS which do not change the database schema from a functional point 
> > of view, or syntactic errors (typically a mysql syntax...) that
> > result in missing tables, but which are not found if the application is not 
> > fully tested.
> > 
> > I think that there are two reasons why these errors are not caught by 
> > application developers:
> > 
> > (1) the default verbosity is set to "notice", which is much to high. The 
> > users just get used to seeing a lot of messages on loading an sql script, 
> > and to ignore them, so that errors are just hidden in the flow of notices. 
> > I think that a better default setting would be "warnings", that is messages 
> > that require some attention from the developer.
> > 
> > (2) the default behavior of psql on errors is to keep going. Developers of 
> > SQL script that are expected to work shoud be advised to:
> > - encourage application devs to set ON_ERROR_STOP and/or use a global
> >   transaction in their script.
> > - provide a simple/short option to do that from the command line
> >   basically that could be an enhanced "-1", NOT restricted
> >   to "-f" but that would work on standard input as well.
> > 
> >   sh> psql -1 -f setup.sql # -1 does work here
> >   sh> psql -1 < setup.sql # -1 does not apply to stdin stuff...
> > 
> > 
> > So I would suggest the following todos:
> > 
> > 1 - change the default verbosity to "warning".
> > 
> > 2 - change -1 to work on stdin as well instead of being ignored,
> >    or provide another option that would do that.
> > 
> > -- 
> > Fabien Coelho - coe...@cri.ensmp.fr
> > 
> > -- 
> > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-hackers
> 
> -- 
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

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


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to