This is what happens in every RDBMS. Whats so special about postgres then?
mysql> BEGIN; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE blehhhh ( id INTEGER ) ENGINE=InnoDB; Query OK, 0 rows affected (0.09 sec) mysql> INSERT INTO blehhhh VALUES (1),(2),(3); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> ROLLBACK; Query OK, 0 rows affected (0.00 sec) mysql> SELECT * FROM blehhhh; +------+ | id | +------+ | 1 | | 2 | | 3 | +------+ 3 rows in set (0.00 sec) psql=> BEGIN; BEGIN psql=> CREATE TABLE blehhhh ( id INTEGER ); CREATE TABLE psql=> INSERT INTO blehhhh VALUES (1),(2),(3); INSERT 0 3 psql=> ROLLBACK; ROLLBACK psql=> SELECT * FROM blehhhh; ERREUR: la relation «blehhhh» n'existe pas