title: PostgreSQL using UUID vs Text as primary key
body: <p>Our current PostgreSQL database is using GUID's as primary keys and storing them as a Text field.</p>
  
  <p>My initial reaction to this is that trying to perform any kind of minimal cartesian join would be a nightmare of indexing trying to find all the matching records.  However, perhaps my limited understanding of database indexing is wrong here.</p>
  
  <p>I'm thinking that we should be using UUID as these are stored as a binary representation of the GUID where a Text is not and the amount of indexing that you get on a Text column is minimal.</p>
  
  <p>It would be a significant project to change these, and I'm wondering if it would be worth it?</p>