psql --single-transaction does not work as expected - Mailing list pgsql-hackers

From Rafael Martinez
Subject psql --single-transaction does not work as expected
Date
Msg-id 520A3D02.1050300@usit.uio.no
Whole thread Raw
Responses Re: psql --single-transaction does not work as expected  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello

I want to report that psql --single-transaction does not work as one
can expect after reading the help information for psql.

psql --help says:

- -1 ("one"), --single-transaction: execute command file as a single
transaction

If you run "psql -1 < sql_file.sql" insteed of "psql -1 -f
sql_file.sql" the single-transaction parameter will not work.


Test case:
==========

CREATE DATABASE test;
\c test
CREATE TABLE check_psql(id int, code text);
\q

# cat check_psql.sql

INSERT INTO check_psql (id,code) VALUES (1,'code1');
INSERT INTO check_psql (id,code) VALUES (2,code2);

# psql -1 test -f check_psql.sql

INSERT 0 1
psql:check_psql.sql:2: ERROR:  column "code2" does not exist
LINE 1: INSERT INTO check_psql (id,code) VALUES (2,code2);                                                  ^
# psql -1 test -c "SELECT * FROM check_psql"id | code
- ----+------
(0 rows)

# psql -1 test < /tmp/check_psql.sql

INSERT 0 1
ERROR:  column "code2" does not exist
LINE 1: INSERT INTO check_psql (id,code) VALUES (2,code2);                                                  ^
#psql -1 test -c "SELECT * FROM check_psql"id | code
- ----+------- 1 | code1
(1 row)


The docs for psql at
http://www.postgresql.org/docs/current/static/app-psql.html
have the right information, ".... -1 --single-transaction
When psql executes a script with the -f option ...."

I think we should either update the psql --help information for
- --single-transaction and say that this parameter only works together
with -f or update the psql code so psql -1 < file.sql also works.

regards,
- -- Rafael Martinez GuerreroCenter for Information TechnologyUniversity of Oslo, Norway
PGP Public Key: http://folk.uio.no/rafael/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)

iEYEARECAAYFAlIKPQEACgkQBhuKQurGihQaGwCggvy+Fgiw1TlseZKM8oq4U/na
cgQAnRN4sw9NHBajG57wL0P+08p6Nb3y
=cNHB
-----END PGP SIGNATURE-----



pgsql-hackers by date:

Previous
From: Andrew Gierth
Date:
Subject: UNNEST with multiple args, and TABLE with multiple funcs
Next
From: Bruce Momjian
Date:
Subject: Re: psql --single-transaction does not work as expected