이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

E.3. 릴리스 9.6.22

출시일: 2021-05-13

이 릴리스에는 9.6.21의 다양한 수정 사항이 포함되어 있습니다. 9.6 주요 릴리스의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.무지개 토토 PostgreSQL : 문서 : 9.6 : 릴리스 9.6.

PostgreSQL커뮤니티는 2021년 11월에 9.6.X 릴리스 시리즈에 대한 업데이트 릴리스를 중단합니다. 사용자는 곧 최신 릴리스 브랜치로 업데이트하는 것이 좋습니다.

E.3.1. 버전 9.6.22로 마이그레이션

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

그러나 9.6.21 이전 버전에서 업그레이드하는 경우 다음을 참조하세요.PostgreSQL : 문서 : 9.6 : 스포츠 토토 9.6.21.

E.3.2. 변경사항

  • 배열 첨자 계산에서 정수 오버플로 방지(Tom Lane)

    배열 코드는 이전에 배열의 하한과 길이가 정수를 오버플로하는 경우에 대해 불평하지 않았습니다. 이로 인해 배열의 이후 항목에 액세스할 수 없게 되었지만(아래 첨자를 정수로 쓸 수 없었기 때문에) 더 중요한 것은 후속 할당 작업을 혼란스럽게 한다는 것입니다. 이로 인해 메모리 덮어쓰기가 발생하고 충돌이 발생하거나 원치 않는 데이터 수정이 발생할 수 있습니다. (CVE-2021-32027)

  • 잘못된 처리 수정"정크"충돌 시 삽입... 업데이트대상 목록(톰 레인)

    만약에업데이트목록에는 다중 열 하위 선택이 포함되어 있습니다(적절한 결과 외에 정크 열이 발생함).업데이트path는 결국 추가 정크 열의 값을 포함하는 튜플을 저장하게 됩니다. 이는 단기적으로는 상당히 무해하지만, 새 열이 테이블에 추가되면 값에 액세스할 수 있게 되어 추가된 열의 데이터 유형과 일치하지 않으면 오작동이 발생할 수 있습니다.

    또한 교차 파티션 업데이트를 지원하는 버전에서 이러한 경우에 의해 트리거된 교차 파티션 업데이트에는 반대의 문제가 있었습니다. 정크 열이 대상 목록에서 제거되었으며 일반적으로 다중 열 하위 선택 메커니즘의 오작동으로 인해 즉각적인 충돌이 발생했습니다. (CVE-2021-32028)

  • 허용역할/데이터베이스 변경 ... 설정설정하려면역할, 세션_승인그리고temp_buffers매개변수(톰 레인)

    이전에는 값이 나중에 사용될 때 작동했더라도 지나치게 열성적인 유효성 검사로 인해 이러한 명령이 거부될 수 있었습니다. 이로 인해 덤프/다시 로드 및 업그레이드 시나리오에 대한 명령 주문 위험이 발생했습니다.

  • a의 결과를 강제하는 버그 수정콜레이트조합할 수 없는 유형으로의 표현식(Tom Lane)

    이로 인해 구문 분석 트리가 생성되었습니다.콜레이트조합할 수 없는 값에 적용된 것으로 보입니다. 일반적으로 실제적인 영향은 없지만(이후로)콜레이트런타임에는 효과가 없음) 덤프/다시 로드 중에 거부되는 뷰를 구성하는 것이 가능했습니다.

  • 다음을 통한 창 기능 및 프로시저 호출을 허용하지 않음"빠른 경로"와이어 프로토콜 메시지(톰 레인)

    여기에서는 일반 기능만 지원됩니다. 집계 함수 호출 시도가 이미 실패했지만 창 함수 호출은 중단되고 프로시저 호출은 프로시저가 트랜잭션 제어를 수행하지 않는 경우에만 작동했습니다.

  • 연장pg_identify_object_as_address()이벤트 트리거 지원(Joel Jacobson)

  • 수정to_char()의 음수 간격이 있는 로마 숫자 월 형식 코드 처리 (Julien Rouhaud)

    이전에는 이러한 경우 일반적으로 충돌이 발생했습니다.

  • 분석 중 초기화되지 않은 값 사용 수정\{m,n\}BRE 모드 정규 표현식의 수량자(Tom Lane)

    이 오류로 인해 수량자가 탐욕스럽지 않게 작동할 수 있습니다. 즉, 다음과 같이 작동합니다.{m,n}?수량자는 전체 정규 표현식에서 작동합니다.

  • 매우 긴 고정 접두사가 있는 정규 표현식의 선택성을 추정할 때 0으로 나누기를 피하십시오(Tom Lane)

    이로 인해 일반적으로 다음과 같은 결과가 발생했습니다.NaN선택성 값으로 인해 어설션 실패 또는 이상한 플래너 동작이 발생합니다.

  • BRIN 인덱스 비트맵 스캔에서 테이블 끝 부분 액세스 오류 수정(Tomas Vondra)

    BRIN 인덱스에서 사용하는 페이지 범위 크기가 2의 거듭제곱이 아닌 경우 비트맵 스캔이 테이블의 실제 끝을 지나서 페이지를 가져오려고 시도할 수 있는 특수한 경우가 있었습니다."파일을 열 수 없습니다"오류.

  • 대기 서버의 시작 프로세스를 종료하는 동안 잠금이 해제되었는지 확인하십시오(Fujii Masao)

    복구 중에 대기 서버가 종료되면 일부 잠금이 유지될 수 있습니다. 이로 인해 디버그 빌드에서 어설션 오류가 발생합니다. 프로덕션 빌드에서 심각한 결과가 발생할 수 있는지 여부는 불분명합니다.

  • 기본값을 확인하세요wal_sync_method = fdatasync최근 FreeBSD에 관한 내용(Thomas Munro)

    FreeBSD 13 지원open_datasync, 일반적으로 기본 선택이 됩니다. 그러나 이것이 실제로 Postgres의 개선인지는 확실하지 않으므로 지금은 기존 기본값을 유지하세요.

  • DSM 세그먼트를 분리하는 동안 중단되면 정리가 완료되었는지 확인하십시오(토마스 먼로)

    이 오류로 인해 임시 파일이 병렬 쿼리 후 즉시 정리되지 않을 수 있습니다.

  • 서버의 여러 가지 사소한 메모리 누수 수정(Tom Lane, Andres Freund)

  • 무한 루프 방지libpq길이가 손상된 ParameterDescription 메시지가 수신된 경우(Tom Lane)

  • 수정psql이전 동작을 복원하려면\연결 서비스=뭔가(톰 레인)

    이전 버그 수정으로 인해 환경 변수(예:PG포트)을 사용하여 이 컨텍스트에서 서비스 파일의 항목을 재정의합니다. 우선순위가 반대인 이전 동작을 복원합니다.

  • 파일 수정 감지 시 경쟁 조건 수정psql's\e및 관련 명령(Laurenz Albe)

    매우 빠른 타이피스트는 임시 편집 파일이 변경되었는지 여부에 대한 코드의 파일 타임스탬프 기반 감지를 속일 수 있습니다.

  • 누락된 파일 버전 체크인 수정pg_restore(톰 레인)

    검색할 수 없는 소스에서 사용자 정의 형식 아카이브를 읽을 때,pg_restore아카이브 버전 확인을 무시했습니다. 지원할 수 있는 것보다 최신 아카이브 버전이 공급되면 나중에 지저분하게 실패할 것입니다.

  • 다음에 더 많은 검사를 추가하세요pg_upgrade업그레이드할 수 없는 데이터 유형이 포함된 사용자 테이블의 경우(Tom Lane)

    업그레이드할 수 없는 데이터 유형이 컨테이너 유형(예: 배열 또는 범위) 내에 포함된 일부 경우의 감지를 수정합니다. 또한 사용자 테이블에 시스템 정의 복합 유형의 열이 포함된 경우 이러한 유형의 OID가 버전 간에 안정적이지 않기 때문에 업그레이드를 허용하지 않습니다.

  • 수정pg_waldump세다XACT레코드별 통계를 생성할 때 올바르게 기록됩니다(호리구치 쿄타로)

  • 수정기여/amcheck튜플 플래그에 대해 불평하지 않기 위해HEAP_XMAX_LOCK_ONLY그리고HEAP_KEYS_UPDATED둘 다 설정 중입니다(Julien Rouhaud)

    다음 이후에는 유효한 상태입니다.업데이트를 위해 선택.

  • 최신 Oracle Developer Studio 컴파일러 버전을 지원하도록 VPATH 빌드 규칙 조정(Noah Misch)

  • Solaris의 Python 3용 PL/Python 테스트 수정(Noah Misch)