출시 날짜 :2025-05-08
이 윈 토토에는 16.8의 다양한 수정 사항이 포함되어 있습니다. Major Release 16의 새로운 기능에 대한 정보는 참조사설 토토 PostgreSQL : 문서 : 16 : E.9. 릴리스 16.
16.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 파티션 된 테이블에 자체 참조 외부 키 제약이있는 윈 토토 이러한 제약 조건을 제한하여 올바르게 시행되도록해야 할 수도 있습니다. 아래 두 번째 ChangeLog 항목을 참조하십시오.
또한 Brin Bloom 인덱스가있는 윈 토토 업데이트 후 다시 표시하는 것이 좋습니다. 아래 세 번째 ChangeLog 항목을 참조하십시오.
또한 16.5 이전 버전에서 업그레이드하는 경우 참조토토 사이트 PostgreSQL : 문서 : 16 : E.4. 릴리스 16.5.
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)§
병렬 작업자와 통신하기위한 프로토콜은 작업자가 돌아 오는 콘크리트 레코드 유형을 식별하는 것을 지원하지 않습니다.
수정배열 (
andSubQuery
)배열 [
입력이 유형 일 때 제정신 결과를 생성하기위한 구성표현, ...
]int2vector
또는oidvector
(Tom Lane)§
이 패치는 이전에 존재했던 동작을 복원합니다PostgreSQL9.5 : 결과는 유형입니다int2Vector []
또는oidvector []
.
구문 분석하는 동안 유효하지 않은 부착에 대한 잘못된 보고서 수정IspellDictionaries (Jacob Brazeal)§
수정ALTER 테이블 추가 열
기본값이있는 도메인 유형의 윈 토토를 올바르게 처리하려면 (Jian He, Tom Lane, Tender Wang)§ §
도메인 유형에 기본값이있는 윈 토토 해당 유형의 열을 추가합니다 (명시 적없이기본값
clause)는 기존 행에 도메인의 기본값을 설치하지 못했고 대신 새 열을 남기고
외국 키 제약 조건에 중복 열 이름이있을 때 오작동 수리on 삭제 세트 기본값
또는SET NULL
액션 (Tom Lane)§
외국 키 제약 조건 (Álvaro Herrera)의 속성을 변경하려는 허용되지 않은 시도에 대한 오류 메시지 개선§
재설정시 오류를 피하십시오Relhassubclass
표시된 임시 테이블의 플래그커밋 삭제 행
(Noah Misch)§
누락 된 퇴거 추가들여 쓰기
옵션xmlserialize ()
(Jim Jones)§ §
이전, 뷰 또는 규칙을 사용하는 규칙xmlserialize (... Indent)
들여 쓰기
조항, 복원 후 잘못된 결과를 유발합니다.
둘 다가있는 집계 함수의 인수에 대한 조기 평가를 피하십시오필터
and주문
(또는별도의
) 옵션 (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) 시작 시간, 그 간격에 대해서도 발작 할 수 없었습니다.
Brin Index Operator 클래스에서 누락 된 지원 절차를 감지하고 충돌 대신 오류를보고합니다 (Álvaro Herrera)§
부속 계획 노드 (Heikki Linnakangas)의 비동기 서브 플랜을 기다리는 동안 인터럽트 (예 : 쿼리 취소)에 응답합니다.17999_18002
이전에, 하위 계획 중 하나가 준비 될 때까지 아무 일도 일어나지 않을 것입니다.
활성 WAL 발신자의 I/O 통계를 더 자주보고합니다 (Bertrand Drouvot)§
이전에PG_STAT_IO
View는 해당 프로세스가 종료 될 때까지 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 Process에서 여전히 잠재적으로 필요했지만 삭제 된 카탈로그 항목을 진공 청소기에서 제거 할 수 있습니다..
강력한 잠금 장치를 사용하지 않는 DDL 작업이 논리적으로 복제되는 테이블에 영향을 미치는 윈 토토 데이터 손실을 피하십시오 (Shlok Kyal, Hayato Kuroda)§ §
DDL 명령으로 인한 카탈로그 변경은 Wal-Decoding 프로세스에 반영되지 않았으므로 오래된 카탈로그 데이터를 사용하여 후속 변경 사항을 디코딩하여 데이터 손상을 초래할 수 있습니다..
적용 작업자가 오류가 발생하지만 오류가 잡히면 작업자 종료 (Hayato Kuroda)가 발생하지 않으면 복제 원산지의 잘못된 재설정 방지§
이 실수는 중복 데이터를 적용 할 수 있습니다.
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)§
서버는 그러한 것을 거부합니다드롭
명령. 파티션이 어쨌든 후속에서 사라질 것이기 때문에 실제 결과는 없습니다.드롭
부모 테이블 또는 파티션 된 인덱스. 그러나 시도 된 낙하에 대해보고 된 오류는 복원시에 문제가 발생합니다.--- 단일 전환
모드.
inpg_dumpall, 유효하지 않은 역할을 피하십시오grant
명령 ifpg_auth_members
유효하지 않은 역할 OID (Tom Lane)를 포함합니다§
대신 경고를 인쇄하고 항목을 건너 뜁니다. 이것은 카탈로그 부패에 더 잘 대처합니다.이 카탈로그 부패는 뒷면 지점에서 발생하는 것으로 보인다.grant
and드롭 역할
.
inPG_AMCHECKandpg_upgrade, 올바른 함수를 사용하여 무료 할당libpq(Michael Paquier, Ranier Vilela)§ § §
이러한 감독은 특정 Windows 빌드 구성에서 충돌이 발생할 수 있습니다.libpq호출 응용 프로그램의 비 데그 빌드에서 사용합니다.
허용Contrib/DBlink
Query Cancel (Noah Misch)에 의해 중단 될 쿼리§
이것은 v17 시대의 수정을 뒤로 배치합니다. 그것은 가능성을 방지합니다데이터베이스 생성
및DROP DATABASE
교착 상태 감지 실패로 인해.
손상된 입력 데이터로 충돌하지 마십시오Contrib/PageInspect
'sheap_page_items ()
(Dmitry Kovalenko)§
어설 션 실패 방지Contrib/PG_FREESPACEMAP
'sPG_FREESPACEMAP ()
(Tender Wang)§
적용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으로 변경되어 미국/산티아고에서 차이가 발생합니다..
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면