Aus dem feinen Handbuch :
Die drei Typen, über die sie sprechen, sind char(n) , varchar(n) , und text . Der Tipp besagt im Wesentlichen Folgendes:
char(n)ist am langsamsten, da Leerzeichen aufgefüllt werden und die Längenbeschränkung überprüft werden muss.varchar(n)ist normalerweise in der Mitte, da die Längenbeschränkung überprüft werden muss.text(AKAvarcharohnen) ist in der Regel am schnellsten, da kein zusätzlicher Overhead anfällt.
Abgesehen von der Leerzeichenfüllung für char(n) und Längenprüfung für char(n) und varchar(n) , sie werden hinter den Kulissen alle gleich behandelt.
Bei ActiveRecord t.string ist ein varchar und t.text ist text . Wenn Sie keine strengen Längenbeschränkungen für Ihre Zeichenfolgen haben, verwenden Sie einfach t.text mit PostgreSQL.