E.2. 윈 토토 16.9#

출시 날짜 :2025-05-08

이 윈 토토에는 16.8의 다양한 수정 사항이 포함되어 있습니다. Major Release 16의 새로운 기능에 대한 정보는 참조사설 토토 PostgreSQL : 문서 : 16 : E.9. 릴리스 16.

E.2.1. 버전 16.9로의 마이그레이션#

16.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.

그러나 파티션 된 테이블에 자체 참조 외부 키 제약이있는 윈 토토 이러한 제약 조건을 제한하여 올바르게 시행되도록해야 할 수도 있습니다. 아래 두 번째 ChangeLog 항목을 참조하십시오.

또한 Brin Bloom 인덱스가있는 윈 토토 업데이트 후 다시 표시하는 것이 좋습니다. 아래 세 번째 ChangeLog 항목을 참조하십시오.

또한 16.5 이전 버전에서 업그레이드하는 경우 참조토토 사이트 PostgreSQL : 문서 : 16 : E.4. 릴리스 16.5.

E.2.2. 변화#

  • GB18030 인코딩 (Noah Misch, Andres Freund)에 있다고 주장되는 잘못된 인코딩 된 문자열을 검사 할 때 1 바이트 버퍼 오버 읽기를 피하십시오.§ §

    가능성은 낮지 만, 메모리 끝에 불완전한 멀티 바이트 문자가 나타나면 SIGSEGV 충돌이 발생할 수 있습니다. 이것은 서버와 모두에서 가능했습니다.libpq-사용 응용 프로그램. (CVE-2025-4207)

  • 분할 된 테이블의 자체 참조 외국 키 처리 (Álvaro Herrera)§

    파티션 생성 또는 첨부 파티션 생성은 제약 조건에 의해 참조 된 테이블이 동일한 파티션 된 테이블 인 윈 토토 외국 키 제약 조건에 필요한 카탈로그 항목을 만들지 못했습니다. 이로 인해 제약 조건을 완전히 시행하지 못했습니다.

    이 문제를 해결하려면 제약 조건이 생성 된 후 파티션이 생성되거나 첨부 된 윈 토토 파티션 된 테이블에 자체 참조 외부 키를 삭제하고 재현해야합니다. 행을 위반하는 행을 이미 존재할 수 있으며,이 윈 토토 제약 조건을 재현하는 윈 토토 다시 시도하기 전에 해당 행을 수정해야합니다..

  • 압축 된 브린 요약을 병합시 데이터 손실을 피하십시오brin_bloom_union ()(Tomas vondra)§

    코드는 입력 객체와 동일하지 않은 감압 결과를 설명하지 못했기 때문에 일부 데이터를 병합 된 요약에 추가하지 않아 인덱스 검색에서 놓친 행으로 이어집니다..

    이 실수는 Brin Bloom Indexes가 도입 된 V14로 돌아 왔지만이 코드 경로는 거의 도달하지 못했습니다. 병렬 인덱스 빌드가 코드를 사용하기 때문에 v17에서는 실질적으로 더 많이 발생합니다.

  • 예기치 않은 수정속성이 잘못된 유형오류업데이트, 삭제병합뷰 또는 함수에 대한 전체 열 테이블 참조를 사용하는 쿼리From(Tom Lane)§

  • 수정병합|아무것도하지 않습니다Actions (Tender Wang)§

    일부 사례는병합 될 때의 알려지지 않은 조치오류.

  • 실패 방지삽입테이블이있는 윈 토토 명령생성도메인 데이터 유형의 열 및 도메인의 제약 조건은 널 값을 허용하지 않습니다 (Jian HE)§

    생성 표현이 완벽하게 괜찮은 결과를 낳은 경우에도 제약 실패 가보고되었습니다.

  • a에 나타나는 외부 CTE 이름에 대한 참조를 올바르게 처리합니다with조항에 첨부삽입/업데이트/삭제/병합내부의 명령with(Tom Lane)§

    파서는 허용되지 않은 재귀 사건을 감지하지 못했으며 CTE를 사용 가능한 순서로 정렬 할 때 그러한 참조를 설명하지도 않았습니다..

  • 병렬화를 시도하지 마십시오array_agg ()인수가 익명의 레코드 유형 인 윈 토토 (Richard Guo, Tom Lane)§

    병렬 작업자와 통신하기위한 프로토콜은 작업자가 돌아 오는 콘크리트 레코드 유형을 식별하는 것을 지원하지 않습니다.

  • 수정배열 (SubQuery)and배열 [표현, ...]입력이 유형 일 때 제정신 결과를 생성하기위한 구성int2vector또는oidvector(Tom Lane)§

    이 패치는 이전에 존재했던 동작을 복원합니다postgresql9.5 : 결과는 유형입니다int2Vector []또는oidvector [].

  • 구문 분석하는 동안 유효하지 않은 부착에 대한 잘못된 보고서 수정Ispell12501_12533§

  • 수정ALTER 테이블 추가 열기본값이있는 도메인 유형의 윈 토토를 올바르게 처리하려면 (Jian He, Tom Lane, Tender Wang)§ §

    도메인 유형에 기본값이있는 윈 토토 해당 유형의 열을 추가합니다 (명시 적 없음기본값clause) 기존 행에 도메인의 기본값을 설치하지 못하고 대신 새 열을 남기지 않습니다.

  • 외국 키 제약 조건에 중복 열 이름이있을 때 오작동 수리on 삭제 세트 기본값또는SET NULL액션 (Tom Lane)§

  • 외국 키 제약 조건 (Álvaro Herrera)의 속성을 변경하려는 시도하지 않은 시도에 대한 오류 메시지 개선§

  • 재설정시 오류를 피하십시오Relhassubclass표시된 임시 테이블의 플래그커밋 삭제 행(Noah Misch)§

  • 누락 된 퇴거 추가들여 쓰기옵션xmlserialize ()(Jim Jones)§ §

    이전, 뷰 또는 규칙을 사용하는 규칙xmlserialize (... Indent)들여 쓰기조항, 복원 후 잘못된 결과를 유발합니다.

  • 둘 다가있는 집계 함수의 인수에 대한 조기 평가를 피하십시오필터and주문 by(또는별도의) 옵션 (David Rowley)§

    있는 윈 토토주문 by또는별도의, 우리는 AGG 계획 노드 내에서 정렬을 수행하기보다는 집계 입력 값을 사전 분류하는 것을 고려합니다. 그러나 집계 입력에 실패 할 수있는 표현식 (예 : 일부 입력 디바이저가 0이 될 수있는 구분)이 포함되어 있고 A가있는 윈 토토 문제가 발생합니다.필터그러한 실패를 방지하기위한 조항. 사전 소개는 표현 평가를 이전으로 향할 것입니다.필터테스트, 어쨌든 실패가 발생할 수 있습니다. A가있는 윈 토토 사전 분류하지 않음으로써 피하십시오.필터그리고 입력 표현식은 단순한 var 또는 const.보다 더 복잡합니다.

  • 최상위 표현식 (David Geier) 내에서 하나 이상의 해시 가능한 Scalararrayopexpr Sub Expression을 식별하지 못하는 플래너의 고정 실패§

    이로 인해 해시 테이블로 처리 될 수있는 추가 하위 표현의 불필요하게 실행되었습니다 (즉,in, 또는= Any오른쪽으로 인한 조항).

  • 비활성화Skip Fetch비트 맵 힙 스캔 최적화 (Matthias van de Meent)§

    동시 진공 상태가 페이지를 모두 볼 수있을 때이 최적화가 죽은 튜플을 반환 할 수 있음이 밝혀졌습니다.

  • 검색 키가 많을 때 GIN 인덱스 검색 시작의 성능 문제 수정 (Tom Lane, Vinod Sridharan)§ §

    많은 키가있는 색인 조항 (예 :JSONBCOL? | 정렬[...]수만 개의 배열 요소와 함께) O (n2) 시작 시간, 그 간격에 대해서도 발작 할 수 없었습니다.

  • 브린 지수 운영자 클래스에서 누락 된 지원 절차를 감지하고 충돌 대신 오류를보고합니다 (Álvaro Herrera)§

  • 부속 계획 노드 (Heikki Linnakangas)의 비동기 서브 플랜을 기다리는 동안 인터럽트 (예 : 쿼리 취소)에 응답합니다.§

    이전에는 하위 계획 중 하나가 준비 될 때까지 아무 일도 일어나지 않을 것입니다.

  • 활성 WAL 발신자의 I/O 통계를 더 자주보고합니다 (Bertrand Drouvot)§

    이전에PG_STAT_IOView는 해당 프로세스가 종료 될 때까지 WAL 발신자가 수행 한 I/O를 축적하지 못했습니다. 이제 그러한 I/O는 최대 1 초 지연 후에보고됩니다.

  • 처리시 레이스 조건 수정synchronous_standby_names시작 직후 (Melnikov Maksim, Michael Paquier)§

    시스템 시작 후 짧은 기간 동안 백엔드는 동기 커밋을 기다리지 못할 수 있습니다synchronous_standby_names활성화되었습니다.

  • IF 무한 루프를 피하십시오.scram_iterations로 설정되었습니다int_max(Kevin K Biju)§

  • 이중 변환으로 인해 충돌이 발생하지 않도록json_array ()의 하위 쿼리 (Tom Lane)§

  • 수정pg_strtof ()null endptr (Alexander Lakhin, Tom Lane)와 충돌하지 않음§

  • 특정 GUC 과제에서 메모리 외부에서 충돌을 해결합니다 (Daniel Gustafsson)§

  • 스노우 볼 스티머가 메모리 외 조건 (Maksim Korotkov)을 만나면 충돌을 피하십시오§

  • 무효화 된 복제 슬롯의 복사 허용 (Shlok Kyal)§

    잘못된 슬롯이 이미 제거 된 WAL을 가리킬 때 문제를 방지합니다.

  • 핫 스탠드 모드가 아닌 대기 서버에서 논리적 복제 슬롯 복원을 허용하지 않습니다 (Masahiko Sawada)§

    이것은 프로모션 후에도 슬롯이 유효 할 수있는 시나리오를 방지합니다.Wal_level너무 낮습니다.

  • 카탈로그 xmin의 과잉 부과 방지빠른 전달논리 디코딩 모드 (Zhijie Hou)§

    이 실수는 Wal-Reading 프로세스에서 여전히 잠재적으로 필요했지만 삭제 된 카탈로그 항목을 진공 청소기에서 제거 할 수 있습니다..

  • 강력한 잠금 장치를 사용하지 않는 DDL 작업이 논리적으로 복제되는 테이블에 영향을 미치는 윈 토토 데이터 손실을 피하십시오 (Shlok Kyal, Hayato Kuroda)§ §

    DDL 명령으로 인한 카탈로그 변경은 Wal-Decoding 프로세스에 반영되지 않았으므로 오래된 카탈로그 데이터를 사용하여 후속 변경 사항을 디코딩하여 데이터 손상을 초래할 수 있습니다..

  • 응용 작업자가 오류가 발생하지만 오류가 잡히면 작업자 종료 (Hayato Kuroda)가 발생하지 않으면 복제 원산지의 잘못된 재설정 방지§

    이 실수는 중복 데이터를 적용 할 수 있습니다.

  • 논리적 복제 인덱스 조회에서 중복 스냅 샷 생성을 피하십시오 (Heikki Linnakangas)§ §

  • Mixed-Origin 구독의 탐지 개선 (Hou Zhijie, Shlok Kyal)§

    구독 생성은 구독 테이블이 다른 간행물을 통해 추적되는 경우 경고를 제공합니다. 이로 인해 중복 데이터가 수신 될 수 있습니다. 이 변경 사항은 해당 논리를 향상시켜 파티션 부모 또는 자식 테이블이 다른 출판물을 통해 따르는 사례를 감지합니다.

  • 잘못된 복구 타임 라인 선택에 대한 오류 메시지에서 잘못된 체크 포인트 세부 정보 수정 (David Steele)§

    요청 된 복구 타임 라인에 도달 할 수 없으면보고 된 체크 포인트와 타임 라인은 백업이있는 윈 토토 값을 읽은 값이어야합니다. 이 메시지는 이전에 제어 파일에서 값을보고한데, 이는 Backup_Label없이 제어 파일에서 복구 할 때 정확하지만 Backup_Label이있을 때는 그렇지 않습니다.

  • 잘못된 주장 제거pgstat_report_stat ()(Michael Paquier)§

  • 지나치게 강력한 주장 수정GistFindCorRectParent ()(Heikki Linnakangas)§

  • 기본이 다시 시작될 때 대기 서버에서 드문 어설 션 실패 수정 (Heikki Linnakangas)§

  • pl/pgsql에서 피하십시오예기치 않은 계획 노드 유형스크롤 가능한 커서가 간단한 상태에서 정의 된 경우 오류select표현쿼리 (Andrei Lepikhov)§

  • 개별 색인 파티션을 삭제하려고하지 마십시오.pg_dump's-Clean모드 (Jian HE)§

    서버는 그러한 것을 거부합니다드롭명령. 파티션이 어쨌든 후속에서 사라질 것이기 때문에 실제 결과는 없습니다.드롭s 부모 테이블 또는 분할 된 인덱스. 그러나 시도 된 낙하에 대해보고 된 오류는 복원시에 문제가 발생합니다.--- 단일 전환모드.

  • inpg_dumpall, 유효하지 않은 역할을 피하십시오grant명령 ifpg_auth_members유효하지 않은 역할 OID (Tom Lane)를 포함합니다§

    대신 경고를 인쇄하고 항목을 건너 뜁니다. 이것은 카탈로그 부패에 더 잘 대처합니다.이 카탈로그 부패는 뒷면 지점에서 발생하는 것으로 보인다.grantand드롭 역할.

  • inPG_AMCHECKandpg_upgrade, 올바른 함수를 사용하여 무료 할당libpq(Michael Paquier, Ranier Vilela)§ § §

    이러한 감독은 특정 Windows 빌드 구성에서 충돌이 발생할 수 있습니다.libpq호출 응용 프로그램의 비 데그 빌드에서 사용합니다.

  • 허용Contrib/DBlinkQuery Cancel (Noah Misch)에 의해 중단 될 쿼리§

    이것은 v17 시대의 수정을 백스 패치합니다. 그것은 가능성을 방지합니다데이터베이스 생성DROP DATABASE교착 상태 감지 실패로 인해.

  • 손상된 입력 데이터로 충돌하지 마십시오Contrib/PageInspect'sheap_page_items ()(Dmitry Kovalenko)§

  • 어설 션 실패 방지Contrib/PG_FREESPACEMAP'sPG_FREESPACEMAP ()(부드러운 왕)§

    적용PG_FREESPACEMAP ()스토리지가없는 관계 (예 :보기와 같은)는 어지럽지 않은 빌드에 악영향을 미치지 않았지만 어설 션 실패를 일으켰습니다. 해당 케이스를 거부하려면 오류 점검을 추가하십시오.

  • MacOS 15.4에서 빌드 실패 수정 (Tom Lane, Peter Eisentraut)§

    이 MACOS 업데이트는 구성 프로브를 깨뜨 렸습니다strchrnul ().

  • 시간대 데이터 파일 업데이트TZDATA칠레의 DST 법률 변경을위한 릴리스 2025B와이란의 역사적 교정 (Tom Lane)§

    칠레의 Aysén 지역에는 새로운 Time Zone America/Coyhaique가 있으며, 1 년 내내 UTC-03으로 변경되어 미국/산티아고에서 차이가 있습니다..

제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면