Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
On 15.03.2017 16:38, Robert Haas wrote: On Wed, Mar 15, 2017 at 2:29 AM, Peter van Hardenbergwrote: Ads and I were talking over breakfast about usability issues and he mentioned transaction cancellation during interactive sessions as a serious pain point. I suggest we update the default of ON_ERROR_ROLLBACK to interactive for 10.0. 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 (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
Just chiming in: I rely heavily on the current default behavior because it prevents large statements pasted into psql that cause errors in transactions from partially running, and if it were changed I would have caused production outages. On Wed, Mar 15, 2017 at 8:42 AM, Pavel Stehulewrote: > > > 2017-03-15 16:38 GMT+01:00 Robert Haas : >> >> On Wed, Mar 15, 2017 at 2:29 AM, Peter van Hardenberg wrote: >> > Ads and I were talking over breakfast about usability issues and he >> > mentioned transaction cancellation during interactive sessions as a >> > serious >> > pain point. >> > >> > I suggest we update the default of ON_ERROR_ROLLBACK to interactive for >> > 10.0. >> > >> > 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. >> >> In short, -1 from me. > > > I agree with Robert. I prefer some doc, web page "after install steps". > > Pavel > >> >> >> -- >> Robert Haas >> EnterpriseDB: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> >> >> -- >> 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
Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
2017-03-15 16:38 GMT+01:00 Robert Haas: > On Wed, Mar 15, 2017 at 2:29 AM, Peter van Hardenberg wrote: > > Ads and I were talking over breakfast about usability issues and he > > mentioned transaction cancellation during interactive sessions as a > serious > > pain point. > > > > I suggest we update the default of ON_ERROR_ROLLBACK to interactive for > > 10.0. > > > > 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. > > In short, -1 from me. > I agree with Robert. I prefer some doc, web page "after install steps". Pavel > > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >
Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
On Wed, Mar 15, 2017 at 2:29 AM, Peter van Hardenbergwrote: > Ads and I were talking over breakfast about usability issues and he > mentioned transaction cancellation during interactive sessions as a serious > pain point. > > I suggest we update the default of ON_ERROR_ROLLBACK to interactive for > 10.0. > > 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. In short, -1 from me. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
Peter van Hardenbergwrites: > It's quite clear to me that the current default behaviour costs the world > serious pain and heart-ache on a daily basis. This is a large claim for which you've provided little evidence. On the other hand, changing behavior like this from one version to the next will definitely cause a lot of pain and heartache. I'm also dubious that ON_ERROR_ROLLBACK=interactive is a completely problem-free setting. It will at least mean that copying-and-pasting between a script file and your terminal doesn't work transparently. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] Defaulting psql to ON_ERROR_ROLLBACK=interactive
From: pgsql-hackers-ow...@postgresql.org > [mailto:pgsql-hackers-ow...@postgresql.org] On Behalf Of Peter van > Hardenberg > I suggest we update the default of ON_ERROR_ROLLBACK to interactive for > 10.0. +1 Regards Takayuki Tsunakawa -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers