I'm (still) trying to transition out from under the uniqueidentifier contrib module to the native uuid datatype. I seem to be able to create a domain for uniqueidentifier:
CREATE DOMAIN public.uniqueidentifier AS uuid;
and then use pg_restore to reload my data without the contrib module.
I'd like for my final step to be to
ALTER TABLE foo ALTER COLUMN my_uuid TYPE uuid;
... Is PostgreSQL smart enough to not have to rewrite the table and simply shed the domain for the underlying datatype?