От изящно ръководство :
Трите типа, за които говорят, са char(n) , varchar(n) и text . Съветът по същество казва, че:
char(n)е най-бавният поради празни подложки и необходимост от проверка на ограничението за дължина.varchar(n)обикновено е в средата, защото трябва да се провери ограничението за дължина.text(известен още катоvarcharбезn) обикновено е най-бързият, защото няма допълнителни разходи.
Освен празната подложка за char(n) и проверка на дължината за char(n) и varchar(n) , всички те се обработват еднакво зад кулисите.
С ActiveRecord, t.string е varchar и t.text е text . Ако нямате строги ограничения на дължината на вашите низове, просто използвайте t.text с PostgreSQL.