I've been taught that in RDBMS any DDL always causes an implicit commit, ending any active transaction at the time the DDL is issued.
Now I found this page on the PostgreSQL wiki that states that PostgreSQL is able to perform DDL statements in a transaction, making them atomic and rollback-able.
But does that change anything with respect to the implicit commit about the DDL? Is it still executed when the DDL is issued?
drop table foo; rollback;works just fine (provided you are not running in autocommit mode of course) – Feb 02 '15 at 21:57