22001: string_data_right_truncation
PostgreSQL의미
텍스트 길이가 대상 컬럼의 정의 길이(예: VARCHAR(n))를 초과해 값이 잘릴 상황이므로 PostgreSQL이 이를 거부하고 오류를 발생시킨다.
원인
VARCHAR(n)/CHAR(n) 컬럼에 n보다 긴 텍스트를 삽입 또는 갱신, 애플리케이션에서 예상보다 긴 데이터가 넘어옴, 또는 필요에 비해 너무 좁게 정의된 컬럼 길이.
해결 방법
값을 컬럼에 맞게 줄이거나 컬럼 길이를 늘린다: ALTER TABLE my_table ALTER COLUMN my_column TYPE VARCHAR(500). 길이 제한이 없는 텍스트가 필요하면 TEXT 타입을 사용한다. 애플리케이션에서 길이를 검증한다. 의도적으로 자르려면 LEFT(value, n)을 명시적으로 적용한다.