> I usually put DDL statements in a transaction, for a couple of
> reasons: so that a mistake doesn't leave me with half-done work
> (any error will cause the entire transaction to roll back), and to
> make the changes atomic for the benefit of other transactions.
Can you do that in postgres? Will it really make the DDL atomic?
I know that is oracle any DDL will implicityly commit any existing
transaction, start another one, and commit again at the end of the
statement.
I think it is similar in SQL Server too.
Can postgress really do DDL on multiple tables and indexes atomically?