E.1. 릴리스 17.5#

출시 날짜 :2025-05-08

이 릴리스에는 17.4의 다양한 수정 사항이 포함되어 있습니다. Major Release 17의 새로운 기능에 대한 정보는 참조하십시오.범퍼카 토토 캔 PostgreSQL : 문서 : 17 : E.5. 릴리스 17.

E.1.1. 버전 17.5로의 마이그레이션#

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

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

또한 브린 블룸 인덱스가있는 경우 업데이트 후 다시 표시하는 것이 좋습니다. 아래 세 번째 ChangeLog 항목을 참조하십시오.

또한 17.1 이전 버전토토 캔 업그레이드하는 경우 참조PostgreSQL : 문서 : 17 : E.4. 롤 토토 캔 17.1.

E.1.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를 사용 가능한 순서로 정렬 할 때 그러한 참조를 설명하지도 않았습니다..

  • JSON 생성자 표현식 (Amit Langote)의 키에서 캐스트의 오해 오해 수정§

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

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

  • 수정배열 (SubQuery)and배열 [표현, ...]입력이 유형 일 때 제정신 결과를 생성하기위한 구성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주문 by(또는별도의) 옵션 (David Rowley)§

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

  • 열에서 잘못된 공제 수정NOT NULL외부 조인의 존재하에있는 제약 조건 (Richard Guo)§

    경우에 따라 플래너가 |쿼리 조건, 외부 조인 후 조건이 적용되어 중복되지 않더라도.

  • 잘못된 최적화를 피하십시오is [not] null복합 값에 적용되는 테스트 (Bruce Momjian)§

  • 최고 수준 표현식 (David Geier) 내토토 캔 하나 이상의 해시 가능한 Scalararrayopexpr Subexpression을 식별하지 못하는 플래너의 고정 실패§

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

  • 낮은 충전 계수로 잘못된 테이블 크기 추정치 수정 (Tomas Vondra)§

    플래너가 절대 분석되지 않은 테이블의 행 수를 추정 할 때, 추정토토 캔 테이블의 충전제 설정을 사용하지만 페이지 당 적어도 하나의 행으로 결과를 클램핑하는 것을 무시했습니다. 낮은 충전제는 불합리하게 작은 추정치를 초래할 수 있습니다.

  • 비활성화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활성화되었습니다.

  • 가능한 쿼리 변화에 대처하는io_combine_limit(Thomas Munro)§

  • IF 무한 루프를 피하십시오.scram_iterationsint_max(Kevin K Biju)§

  • 이중 변환으로 인한 충돌 가능성을 피하십시오json_array ()'s subquery (Tom Lane)§

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

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

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

  • 계획 중 SpecialJoinInfo Structs (Richard Guo)의 과도한 열정 무료 수정§

    이로 인해 파티션 타이가 결합이 활성화 된 경우 계획 중에 충돌이 발생했습니다.

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

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

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

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

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

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

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

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

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

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

  • 가입자의 파티셔닝 테이블에 브린 색인 (Tom Lane)이있는 경우 논리 복제의 충돌 수정§

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

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

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

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

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

  • 운영 순서 수정에서smgropen ()(Andres Freund)§

    smgr_open 콜백을 호출하기 전에 smgrrelation 객체가 완전히 초기화되어 있는지 확인하여 콜백이 실패하면 올바르게 정리할 수 있습니다.

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

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

  • 병렬 진공 상태토토 캔 어설 션 실패를 피하십시오maintenance_work_mem매우 작은 가치가 있습니다 (Masahiko Sawada)§

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

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

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

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

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

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

  • inPG_AMCHECKandpg_upgrade, 올바른 기능을 사용하여 무료 할당libpq(Michael Paquier, Ranier Vilela)§ § §

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

  • 고정ReindexDB'S Parallel Reindex 작업 예약 (Alexander Korotkov)§

    원래 코딩은 예상되는 병렬 처리량을 달성하지 못했습니다.

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

  • 어설 션 실패 방지Contrib/PG_FREESPACEMAP'sPG_FREESPACEMAP ()(Tender Wang)§

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

  • inContrib/Postgres_FDW, 하위 쿼리 (Alexander Pyhalov)에서 제한 조건을 풀지 마십시오§

    이 수정 사항은 드문 경우를 방지합니다서브 쿼리 출력에서 예기치 않은 표현식오류.

  • 이전 버전의 경우 빌드 실패 수정libpq_fe.h시스템에 포함되어 있습니다. 디렉토리 포함 (Tom Lane)§

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

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

  • 읽기 스트림의 버퍼 당 데이터의 Valgrind 라벨링 수정 (Thomas Munro)§

    이것은 릴리스 버전의 핵심 코드에 영향을 미치지 않습니다PostgreSQL, 그러나 버퍼 당 데이터 기능을 사용하는 확장은 Valgrind에서 테스트 될 때 가짜 실패에 직면했을 수 있습니다.

  • String Hashing Code (John Naylor)에 대한 Valgrind 불만을 피하십시오§

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

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

정정 제출

올바른 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면