Berapa batas ukuran dari berbagai tipe data di postgresql? Saya melihat di suatu tempat bahwa character varying(n), varchar(n) nharus 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) nharus 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.