Tôi biết hầu hết các cơ sở dữ liệu đều có những hạn chế, nhưng Postgres thì không. Bạn có thể chạy bất kỳ hoạt động tạo bảng số nào, thay đổi cột và thay đổi chỉ mục trong một giao dịch và những thay đổi không hiển thị cho người dùng khác đơn vị COMMIT thành công. Đó là cách cơ sở dữ liệu nên được! :-)
Đối với SQL Server, bạn có thể chạy DDL bên trong một giao dịch, nhưng SQL Server không phiên bản siêu dữ liệu và do đó những thay đổi sẽ hiển thị cho những người khác trước khi giao dịch thực hiện. Nhưng một số câu lệnh DDL có thể được khôi phục nếu bạn đang tham gia một giao dịch, nhưng câu lệnh nào hoạt động và câu lệnh nào không bạn sẽ cần chạy một số thử nghiệm.