postgresql에서 다양한 데이터 유형의 크기 제한은 무엇입니까? 에 대한 것을 I 톱의 어딘가에는 character varying(n)
, varchar(n)
n
10485760. 1 사이에 있어야합니다 그게 사실인가요?
무엇에 대한 유효한 크기는 character(n)
, char(n)
와 text
?
postgresql에서 다양한 데이터 유형의 크기 제한은 무엇입니까? 에 대한 것을 I 톱의 어딘가에는 character varying(n)
, varchar(n)
n
10485760. 1 사이에 있어야합니다 그게 사실인가요?
무엇에 대한 유효한 크기는 character(n)
, char(n)
와 text
?
답변:
Postgres에서 제한된 문자 유형 (예 : varchar (n))의 최대 크기는 10485760입니다. 다음과 같은 방법으로이를 확인할 수 있습니다.
create table test(id serial primary key, str varchar(10485761));
ERROR: length for type varchar cannot exceed 10485760
한계는 다음 소스 코드 조각 (htup_details.h)에 정의되어 있지만 공식 문서에는 명시 적으로 언급되어 있지 않습니다.
/*
* 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)
가변 무제한 길이 유형 (text, varchar)의 최대 문자 수는 정의되어 있지 않습니다. 모든 문자열 유형에 대해 바이트 크기 제한이 있습니다 .
어쨌든 저장할 수있는 가장 긴 문자열은 약 1GB입니다.