tl;dr: Use TEXT instead of VARCHAR or CHAR; TEXT has exactly the same performance and space usage characteristics while being much more flexible. Earlier this week, while browsing some stack overflow questions about postgres' textual data types, I came across a link to a set of benchmarks that compare the performance of the CHAR, VARCHAR, and TEXT types in PostgreSQL — I highly recommend reading t