Från den fina manualen :
De tre typerna de pratar om är char(n) , varchar(n) och text . Tipset är i huvudsak att säga att:
char(n)är den långsammaste på grund av blank stoppning och måste kontrollera längdbegränsningen.varchar(n)är vanligtvis i mitten eftersom längdbegränsningen måste kontrolleras.text(AKAvarcharutann) är vanligtvis snabbast eftersom det inte finns några extra kostnader.
Förutom den tomma stoppningen för char(n) och längdkontroll för char(n) och varchar(n) , de hanteras alla på samma sätt bakom kulisserna.
Med ActiveRecord, t.string är en varchar och t.text är text . Om du inte har några hårda längdbegränsningar på dina strängar, använd bara t.text med PostgreSQL.