From: Peter Eisentraut on
When you create a composite type that already exists, the error message
you get is about 'relation "foo" already exists'. While true, this can
be confusing, as you didn't plan to create a relation. Therefore, I
propose that we insert a snippet of code that is already used by the
other forms of type creation to check first whether a *type* with that
name exists.