PostgreSQL's Varchar Vs Text
When creating migrations via libraries like Rails or Ecto it’s common to use string
for a column type (which maps to varchar(255)
). Today I reminded myself that with PostgreSQL it’s better to use text
instead. It turns out text
is just as efficient and saves you from having to deal with changing varchar(n)
lengths should the time ever come. Should you want to limit the length of a text
column, there are options.
For an analysis including benchmarks see CHAR(X) VS. VARCHAR(X) VS. VARCHAR VS. TEXT.