출시 날짜 :2025-05-08
이 토토 꽁 머니에는 15.12의 다양한 수정 사항이 포함되어 있습니다. 주요 토토 꽁 머니 15의 새로운 기능에 대한 정보는 참조섹션 E.14.
15.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 파티션 된 테이블에 자체 참조 외부 키 제약이있는 경우 이러한 제약 조건을 제한하여 올바르게 시행되도록해야 할 수도 있습니다. 아래 두 번째 ChangeLog 항목을 참조하십시오.
또한 Brin Bloom 인덱스가있는 경우 업데이트 후 다시 표시하는 것이 좋습니다. 아래 세 번째 ChangeLog 항목을 참조하십시오.
또한 15.9 이전 버전에서 업그레이드하는 경우 참조섹션 E.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를 사용 가능한 순서로 정렬 할 때 그러한 참조를 설명하지도 않았습니다..
수정배열 (
andSubQuery
)배열 [
입력이 유형 일 때 제정신 결과를 생성하기위한 구성표현, ...
]int2vector
또는oidvector
(Tom Lane)§
이 패치는 이전에 존재했던 동작을 복원합니다토토 꽁 머니9.5 : 결과는 유형입니다int2Vector []
또는oidVector []
.
구문 분석하는 동안 유효하지 않은 접미사에 대한 잘못된 보고서 수정IspellDictionaries (Jacob Brazeal)§
수정ALTER 테이블 추가 열
기본값이있는 도메인 유형의 경우를 올바르게 처리하려면 (Jian He, Tom Lane, Tender Wang)§ §
도메인 유형에 기본값이있는 경우 해당 유형의 열을 추가합니다 (명시 적없이기본값
clause)는 기존 행에 도메인의 기본값을 설치하지 못하고 대신 새 열을 남기지 않습니다.
외국 키 제약 조건에 중복 열 이름이있을 때 오작동을 복구하십시오on 삭제 세트 기본값
또는SET NULL
액션 (Tom Lane)§
외국 키 제약 조건 (Álvaro Herrera)의 속성을 변경하려는 시도에 대한 오류 메시지 개선§
재설정시 오류를 피하십시오Relhassubclass
표시된 임시 테이블의 플래그커밋 삭제 행
(Noah Misch)§
최상위 표현식 (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)의 비동기 서브 플랜을 기다리는 동안 인터럽트 (예 : 쿼리 취소)에 응답합니다.§
이전에, 하위 계획 중 하나가 준비 될 때까지 아무 일도 일어나지 않을 것입니다.
처리시 레이스 조건 수정synchronous_standby_names
시작 직후 (Melnikov Maksim, Michael Paquier)§
시스템 시작 후 짧은 기간 동안 백엔드는 동기 커밋을 기다리지 못할 수 있습니다.synchronous_standby_names
활성화되었습니다.
수정pg_strtof ()
null endptr (Alexander Lakhin, Tom Lane)와 충돌하지 않음§
스노우 볼 스티머가 메모리 외 조건 (Maksim Korotkov)을 만나면 충돌을 피하십시오§
카탈로그 xmin in의 과잉 발전 방지“빠른 전달”논리 디코딩 모드 (Zhijie Hou)§
이 실수는 Wal-Reading Process에서 여전히 잠재적으로 필요했지만 삭제 된 카탈로그 항목을 진공 청소기에서 제거 할 수 있습니다..
강력한 잠금 장치를 사용하지 않는 DDL 작업이 논리적으로 복제되는 테이블에 영향을 미치는 경우 데이터 손실을 피하십시오 (Shlok Kyal, Hayato Kuroda)§ §
DDL 명령으로 인한 카탈로그 변경은 Wal-Decoding 프로세스에 반영되지 않았으므로 오래된 카탈로그 데이터를 사용하여 후속 변경 사항을 디코딩하여 데이터 손상을 초래할 수 있습니다..
잘못된 복구 타임 라인 선택에 대한 오류 메시지에서 잘못된 체크 포인트 세부 정보 수정 (David Steele)§
요청 된 복구 타임 라인에 도달 할 수 없으면보고 된 체크 포인트와 타임 라인은 백업이있는 경우 값을 읽은 값이어야합니다. 이 메시지는 이전에 제어 파일에서 값을보고한데, 이는 Backup_Label없이 제어 파일에서 복구 할 때 정확하지만 Backup_Label이있을 때는 그렇지 않습니다.
Snapshot Building (Masahiko Sawada)에서 어설 션 실패 수정§
잘못된 주장 제거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으로 변경되어 미국/산티아고에서 분기되는 것을 설명합니다..