Optimizing postgres row overlap constraints involving UUIDs and GIST
As of Postgres 10 the btree_gist extension (in contrib) supports UUIDs, so if you add that extension first, you'll be able to create indexes and exclusion constraints without casting to text. Pre-10, casting to text is the way to go.