On 15.03.2017 16:38, Robert Haas wrote:
On Wed, Mar 15, 2017 at 2:29 AM, Peter van Hardenberg <p...@pvh.ca> wrote:
Ads and I were talking over breakfast about usability issues and he
mentioned transaction cancellation during interactive sessions as a serious
I suggest we update the default of ON_ERROR_ROLLBACK to interactive for
The last discussion I could find about this subject was in 2011 and while
there was concern about setting the default to "on" (as this would tamper
with the expected behaviour of scripts), I don't see any identification of a
problem that would be caused by setting it to "interactive" by default.
Well, then you'd get one behavior when you use psql interactively, and
another behavior when you use it from a script. And if you used a
client other than psql the behavior would be different from psql.
Plus, it's kinda surprising to have a client that, by default, is
sending secret commands to the server that you don't know about. And
it's a backward-incompatible change against previous releases. I
don't think any of that makes this the worst idea ever, but on balance
I still think it's better to just recommend to people that they
configure their .psqlrc with this setting if they want the behavior.
I'm not entirely convinced that psql should behave the same way no
matter how it is started.
Usually I put a \set ON_ERROR_STOP on the top of my scripts - something
I never do in interactive mode, just too lazy for that. Behaviour is
just different if I use psql in script mode.
Also if you paste something, you are still using it interactive - you
could as well just \i the script file.
However I agree that should be something which is announced, and maybe
changed a release later.
After further discussion, Peter will propose another solution soon.
Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors
Volunteer Regional Contact, Germany - PostgreSQL Project
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: