"David G. Johnston" <david.g.johnston@gmail.com> writes:
> That leaves us with changing the documentation then, from:
> CREATE DATABASE cannot be executed inside a transaction block.
> to:
> CREATE DATABASE cannot be executed inside an explicit transaction block (it
> will error in this case), and will commit (or rollback on failure) any
> implicit transaction it is a part of.
That's not going to help anybody unless we also provide a definition of
"implicit transaction", which is a bit far afield for that man page.
I did miss a bet in the proposed pipeline addendum, though.
I should have written
... However, there
are a few DDL commands (such as <command>CREATE DATABASE</command>)
that cannot be executed inside a transaction block. If one of
these is executed in a pipeline, it will, upon success, force an
immediate commit to preserve database consistency.
That ties the info to our standard wording in the per-command man
pages.
regards, tom lane