DBAtlas · 데이터베이스 운영 아틀라스

22P02: invalid_text_representation

PostgreSQL

의미

변환 중 텍스트 값이 대상 데이터 타입의 유효한 표현이 아니었다. 예를 들어 텍스트 'abc'를 integer로 변환하려 하면 이 오류가 발생한다.

원인

숫자 컬럼/파라미터에 비숫자 텍스트 전송. 빈 문자열('')을 숫자/날짜로 변환. UUID 또는 enum에 대한 유효하지 않은 텍스트. 잘못된 JSON. 예상 형식이 아닌 입력 데이터.

해결 방법

변환되는 값이 실제로 유효한지 확인한다. 타입 변환 전에 애플리케이션에서 입력을 검증한다. 빈 문자열은 NULL로 변환한다: NULLIF(value, ''). PostgreSQL 16+에서 안전하게 변환하려면 pg_input_is_valid('abc', 'integer')로 값을 미리 테스트하고 오류 상세는 pg_input_error_info()를 사용한다. 이전 버전에서는 검증 체크(regex)를 검토한다. 어느 행이 문제인지 범위를 좁힌다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목