On 30.01.2018 03:07, David G. Johnston wrote: > So, my first pass at this. Nice, thank you. > + These are of particular use for client software to use when executing > + user-supplied SQL statements and want to provide try/catch behavior > + where failures are ignored. Personally, I'd reword this to something like this: > These are of particular use for client software which is executing > user-supplied SQL statements and wants to provide try/catch behavior > with the ability to continue to use the transaction after a failure. Or maybe something like this: > These are of particular use for client software which requires > fine-grained support over failure behavior within a transaction. > They allow to provide a try/catch behavior with the ability > to continue to use a transaction after a failure. Also I'd like to see something like this in the docs at roughly the same position: > If a failure occurs during a transaction, the transaction enters > an aborted state. An aborted or failed transaction cannot be used > anymore to issue more commands, ROLLBACK or ROLLBACK TO must be used > to regain control of the aborted transaction. A commit issued while > the transaction is aborted is automatically converted into a > <xref linkend="sql-rollback"/>. I'm not sure about the terminology here, though, because the Transaction Tutorial (https://www.postgresql.org/docs/9.6/static/tutorial-transactions.html) speaks of "aborted" transactions, while you use the term "failed" here.