> I've read that postgres uses MVCC for transactions, and that it creates
> snapshots of the database for each transaction. Couldn't the create
> database command just use that snapshot?
Database creation cannot be done inside a transaction (one of the few
DDL statements that can't), so no.
--
If you can't see the forest for the trees,
Cut the trees and you'll see there is no forest.