본문으로 건너뛰기

extra_float_digits

버전기본값context타입
14userinteger
15userinteger
16userinteger
17userinteger
18userinteger
19userinteger

부동소수점 값(float4, float8, geometric 타입)을 텍스트로 출력할 때의 자릿수 동작을 정한다. 기본값은 1이다.

값이 1 이상이면 float 값은 shortest-precise 형식으로 출력된다. 실제 출력 자릿수는 이 파라미터가 아니라 값 자체에 따라 결정되며, 원래의 이진 float 값을 정확히 복원하는 데 필요한 최소 자릿수만 쓴다(float8은 최대 17자리, float4는 최대 9자리). 빠르고 정밀해서 값을 다시 읽어 들이면 비트 단위로 동일한 값이 복원된다. 과거 호환을 위해 3까지의 값이 허용된다.

값이 0 이하이면 타입의 표준 자릿수(FLT_DIG/DBL_DIG)에서 지정한 만큼 줄인 자릿수로 반올림해 출력한다. 예를 들어 -1이면 float4는 유효숫자 5자리, float8은 14자리로 반올림된다. 사람이 읽기에는 좋지만 더 느리고 이진 값의 모든 비트를 보존하지 못한다. 이 파라미터의 의미와 기본값은 PostgreSQL 12에서 바뀌었다.

운영 노트: 일부 driver나 ORM이 정밀한 왕복(round-trip)을 위해 접속 시 이 값을 직접 설정한다. 버전 업그레이드 후 float 출력 자릿수가 달라져 보이는 것은 PostgreSQL 12의 기본 동작 변경 때문일 수 있다.

출처: PostgreSQL 18 문서