Rollback on include error in psql

From: Viktor Shitkovskiy <hanksmail(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Rollback on include error in psql
Date: 2014-12-28 08:02:09
Message-ID: CAK7FUCxR2cozA3ZTtPqUKgivFXBpPz=kJrfX6oWH5V5QtpnQBA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general

Hello.

I'm trying to execute an sql script file in a single transation. The file
contains includes for some other scripts which in my example create some
tables. It looks like this:
\include ../tables/table1.cre
\include ../tables/table2.cre
...
\include ../tables/table10.cre

I'm executing it using psql:
psql -X --set AUTOCOMMIT=off --set ON_ERROR_STOP=on -e
--single-transaction -d my_db -f my_script.sql

The problem is that errors with the include meta command do not cause a
transactiopn rollback. e.g. if some of tableX.cre files is missing, any
changes before its include will be commited. However, if there's some SQL
syntax error, everyting works as expected.

Is it possible to somehow handle include related errors and rollback the
active transcation?

I'm using PostgreSQL 9.2.1.

P.S. Initially I asked this question at dba.stackexchange.com:
http://dba.stackexchange.com/questions/87040/rollback-on-include-error-in-psql

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message semed.sirinov 2014-12-28 11:42:38 BUG #12366: Error and Warning
Previous Message Egoitz Aurrekoetxea 2014-12-27 17:35:58 Re: BUG #12344: libcurses issue with psql binary of Solaris package

Browse pgsql-general by date

  From Date Subject
Next Message Ravi Kiran 2014-12-28 10:38:13 attaching a process in eclipse
Previous Message Dan S 2014-12-27 11:24:25 Re: question about window function in C