Berapa batas ukuran dari berbagai tipe data di postgresql? Saya melihat di suatu tempat bahwa character varying(n)
, varchar(n)
n
harus antara 1 hingga 10485760. Apakah itu benar?
Untuk ukuran apa yang valid character(n)
, char(n)
dan text
?
Berapa batas ukuran dari berbagai tipe data di postgresql? Saya melihat di suatu tempat bahwa character varying(n)
, varchar(n)
n
harus antara 1 hingga 10485760. Apakah itu benar?
Untuk ukuran apa yang valid character(n)
, char(n)
dan text
?
Jawaban:
Ukuran maksimum tipe karakter terbatas (mis. Varchar (n)) di Postgres adalah 10485760. Anda dapat memeriksanya dengan cara itu:
create table test(id serial primary key, str varchar(10485761));
ERROR: length for type varchar cannot exceed 10485760
Batasnya didefinisikan dalam fragmen kode sumber berikut (htup_details.h), namun tidak secara eksplisit disebutkan dalam dokumentasi resmi:
/*
* 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)
Jumlah karakter maksimum untuk jenis variabel panjang tak terbatas (teks, varchar) tidak ditentukan. Ada batas ukuran dalam byte untuk semua jenis string :
Bagaimanapun, string karakter terpanjang yang dapat disimpan adalah sekitar 1 GB.