Limite de taille du caractère variant Postgresql


20

Quelle est la taille limite des différents types de données dans postgresql? J'ai vu quelque part cela pour character varying(n), varchar(n) ndoit être compris entre 1 et 10485760. Est-ce vrai?

Quelles sont les tailles valides pour character(n), char(n)et text?

Réponses:


24

La taille maximale des types de caractères limités (par exemple varchar (n)) dans Postgres est 10485760. Vous pouvez vérifier cela de cette manière:

create table test(id serial primary key, str varchar(10485761));

ERROR:  length for type varchar cannot exceed 10485760

La limite est définie dans le fragment de code source suivant (htup_details.h), mais n'est pas explicitement mentionnée dans la documentation officielle:

/*
 * MaxAttrSize is a somewhat arbitrary upper limit on the declared size of
 * data fields of char(n) and similar types.  It need not have anything
 * directly to do with the *actual* upper limit of varlena values, which
 * is currently 1Gb (see TOAST structures in postgres.h).  I've set it
 * at 10Mb which seems like a reasonable number --- tgl 8/6/00.
 */
#define MaxAttrSize     (10 * 1024 * 1024)

Le nombre maximal de caractères pour les types de longueur illimitée variable (texte, varchar) n'est pas défini. Il existe une limite de taille en octets pour tous les types de chaînes :

Dans tous les cas, la chaîne de caractères la plus longue pouvant être stockée est d'environ 1 Go.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.