Saya tahu sebagian besar basis data memiliki batasan, tetapi Postgres tidak. Anda dapat menjalankan pembuatan tabel angka apa pun, perubahan kolom, dan perubahan indeks dalam suatu transaksi, dan perubahan tersebut tidak terlihat oleh pengguna lain. Unit COMMIT berhasil. Begitulah seharusnya database! :-)
Adapun SQL Server Anda dapat menjalankan DDL di dalam transaksi, tetapi SQL Server tidak versi metadata, dan perubahan akan terlihat oleh orang lain sebelum transaksi dilakukan. Tetapi beberapa pernyataan DDL dapat dibatalkan jika Anda berada dalam suatu transaksi, tetapi untuk mana yang berhasil dan mana yang tidak, Anda perlu menjalankan beberapa tes.