이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 토토 베이.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

E.30. 릴리스 8.3.17

출시일: 2011-12-05

이 릴리스에는 8.3.16의 다양한 수정 사항이 포함되어 있습니다. 에 대한 8.3 주요 릴리스의 새로운 기능에 대한 자세한 내용은 참조토토 커뮤니티 PostgreSQL : 문서 : 8.4 : 릴리스 8.3.

E.30.1. 버전 8.3.17로 마이그레이션

8.3.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.

그러나 오랜 오류가 발견되었습니다 의 정의information_schema.referential_constraints보기. 해당 보기의 올바른 결과에 의존한다면 다음을 수행해야 합니다. 첫 번째 변경 로그 항목에 설명된 대로 정의를 바꿉니다. 아래.

또한, 이전 버전에서 업그레이드하는 경우 8.3.8 참조PostgreSQL : 문서 : 8.4 : 토토 8.3.8.

E.30.2. 변경사항

  • 버그 수정information_schema.referential_constraints보기 (톰 레인)

    이 보기는 주의가 부족했습니다. 외래 키 제약 조건을 종속 항목과 일치시킵니다. 기본 또는 고유 키 제약 조건. 그로 인해 다음과 같은 결과가 발생할 수 있습니다. 외래 키 제약 조건을 전혀 표시하지 못하거나 표시하지 않음 여러 번 말하거나 실제 제약 조건과 다른 제약 조건이 있습니다.

    보기 정의가 다음에 의해 설치되었으므로initdb, 업그레이드만으로는 문제가 해결되지 않습니다. 문제. 기존에서 이 문제를 해결해야 하는 경우 설치 시 (수퍼유저로서) 다음을 삭제할 수 있습니다.정보_스키마스키마를 다시 생성하세요 소싱으로공유디르/information_schema.sql. (실행)pg_config --sharedir만일 당신은 어디에 있는지 확신하지 못합니다공유디르is.) 이것은 반복되어야 합니다 수정될 각 데이터베이스에서.

  • 동안 TOAST 관련 데이터 손상 수정SELECT * FROM src로 테이블 대상 생성또는Dest SELECT * FROM src에 삽입(톰 레인)

    테이블이 다음에 의해 수정된 경우테이블 변경 열 추가, 복사를 시도합니다. 데이터를 다른 테이블에 그대로 전달하면 손상될 수 있습니다. 특정 코너 케이스가 발생합니다. 문제는 다음과 같습니다. 8.4 이상에서는 정확한 형식으로 나타나지만 우리는 다른 버전이 있을 경우를 대비해 이전 버전도 패치했습니다. 동일한 버그를 유발할 수 있는 코드 경로입니다.

  • 부실 상태에서 토스트 테이블에 액세스하는 동안 경쟁 조건 수정 syscache 항목(Tom Lane)

    전형적인 증상은 다음과 같은 일시적인 오류였습니다."토스트 값에 대한 청크 번호 0이 누락되었습니다. pg_toast_2619"의 NNNNN, 인용된 토스트 테이블 항상 시스템 카탈로그에 속합니다.

  • 만들다DatumGetInetP()1바이트 헤더가 있는 inet 데이텀의 압축을 풀고 새 헤더를 추가합니다. 매크로,DatumGetInetPP(), 그거 그렇지 않습니다 (Heikki Linnakangas)

    이 변경 사항은 핵심 코드에 영향을 미치지 않지만 예상되는 추가 기능 코드에서 충돌이 발생함DatumGetInetP()포장을 푼 제품을 생산합니다. 일반적인 관례에 따른 데이텀입니다.

  • 로케일 지원 개선유형의 입력 및 출력(톰 레인)

    모든 표준을 지원하지 않는 것 외에lc_monetary형식 옵션, 입력 및 출력 기능이 일치하지 않았습니다. 덤프된 로케일이었습니다.값을 다시 읽을 수 없습니다.

  • 하지 마세요transform_null_equals영향을 미치다CASE foo WHEN NULL ...구조물(헤이키 린나캉가스)

    transform_null_equals만 영향을 미칠 것으로 예상됨foo = NULL동등이 아닌 사용자가 직접 작성한 표현식 이 형식으로 내부적으로 생성된 수표사례.

  • 외래 키 트리거 생성 순서를 더 나은 순서로 변경 자기 참조 외래 키 지원(Tom Lane)

    자체를 참조하는 계단식 외래 키의 경우 테이블에서 행 업데이트는 두 가지 모두를 실행합니다.업데이트 중트리거 및확인하나의 이벤트로 트리거됩니다.업데이트 중트리거가 먼저 실행되어야 합니다. 그렇지 않으면확인비최종을 확인합니다 행의 상태로 인해 부적절한 오류가 발생할 수 있습니다. 그러나 이러한 트리거의 실행 순서는 결정됩니다. 일반적으로 생성 순서대로 정렬되는 이름순 트리거에는 다음과 같이 자동 생성된 이름이 있으므로 컨벤션"RI_ConstraintTrigger_NNNN". 적절한 수정 그 규칙을 수정해야 할 것입니다. 우리는 그렇게 할 것입니다 9.2에서는 변경하는 것이 위험해 보입니다. 릴리스. 따라서 이번 패치에서는 생성 순서가 변경되었습니다. 방아쇠. 이러한 유형의 오류가 발생하는 사용자는 다음을 수행해야 합니다. 외래 키 제약 조건을 삭제하고 다시 생성하여 올바른 순서로 트리거됩니다.

  • 버퍼를 추적하는 동안 부동 소수점 언더플로 방지 할당율(Greg Matthews)

    그 자체로는 무해하지만 특정 플랫폼에서는 짜증나는 커널 로그 메시지가 나타날 수 토토 베이.

  • 명령 내에서 빈 줄을 유지psql의 명령 기록(로버트 하스)

    이전 동작은 비어 있는 경우 문제를 일으킬 수 있습니다. 문자열 리터럴 내에서 행이 제거되었습니다. 예.

  • 수정pg_dump덤핑하다 다음과 같은 자동 생성 유형 간의 사용자 정의 캐스트 테이블 행 유형(Tom Lane)

  • 기본 버전 사용xsubppPL/Perl을 빌드하는 것이 아니라 반드시 운영 체제의 주요 복사본(David Wheeler 및 알렉스 헌세이커)

  • 잘못된 코딩 수정contrib/dict_int그리고contrib/dict_xsyn(톰 레인)

    일부 함수에서는 메모리가 반환되었다고 잘못 가정했습니다. 으로팔록()보장됩니다 제로화되었습니다.

  • 명예 쿼리 취소 즉시 중단pgstatindex()(로버트 하스)

  • VPATH 빌드가 모든 서버 헤더를 올바르게 설치하는지 확인하세요. 파일(피터 아이젠트라우트)

  • 자세한 오류 메시지에 보고된 파일 이름 단축 (피터 아이젠트라우트)

    일반 빌드는 항상 오류 메시지 호출이 포함된 C 파일이지만 VPATH가 빌드됩니다. 이전에는 절대 경로 이름을 보고했습니다.

  • 중부의 Windows 시간대 이름 해석 수정 아메리카(톰 레인)

    지도"중앙 아메리카 표준 시간"CST6아님CST6CDT, DST는 일반적으로 중앙아메리카 어느 곳에서도 관찰되지 않았습니다.

  • 다음으로 시간대 데이터 파일 업데이트tzdataDST 법률용 2011n 릴리스 브라질, 쿠바, 피지, 팔레스타인, 러시아 등의 변화 사모아; 또한 알래스카와 영국에 대한 역사적 수정 동아프리카.