릴리스 노트

PostgreSQL

E.11. 릴리스 15.2

출시 날짜 :2023-02-09

이 릴리스에는 15.1의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 15의 새로운 기능에 대한 정보는 참조섹션 E.13.

E.11.1. 버전 15.2로의 마이그레이션

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

그러나 15.1 이전 버전에서 업그레이드하는 경우 참조섹션 E.12.

E.11.2. 변화

  • libpqGSSAPI 전송 암호화 시작 실패 (Jacob Champion) 후 메모리 내용이 누출 될 수 있습니다.§

    수정 된 서버 또는 무단 무인 인 Man-in-the-Middle은 GSSAPI (Kerberos) Transport 암호화를 설정하는 동안 0이없는 오류 메시지를 보낼 수 있습니다..libpq그런 다음 해당 문자열을 복사 할뿐만 아니라 Application Memory에서 다음 제로 바이트까지의 바이트를 오류 보고서로 복사합니다. 오류 보고서와 함께 호출 응용 프로그램이 수행하는 작업에 따라 응용 프로그램 메모리 내용이 공개 될 수 있습니다.

  • 계산 수정생성열은 아동 테이블사설 토토 업데이트되어야합니다업데이트분할 된 테이블 또는 상속 트리 (Amit Langote, Tom Lane)§ §

    이것은 업데이트 실패를 수정합니다생성상위 테이블에 존재하지 않거나 부모 열의 생성 표현식과 다른 종속성이있는 열.

  • 가능한 실패 수정병합계산하려면생성열 (Dean Rasheed)§

    의 첫 번째 행 수준 조치가있을 때병합업데이트, 모든 후속삽입조치 계산에 실패합니다생성불필요한 것으로 간주되는 열업데이트행동 (어떤 것에 의존하지 않기 때문에업데이트대상 열).

  • 수정병합'도달 할 수없는 점검whenClauses (Dean Rasheed)§

    A when무조건 후 조항when조항은 도달 할 수없는 것으로 거부되어야하지만이 경우는 항상 감지되지는 않았습니다.

  • 수정병합의 규칙 감지 테스트 (Dean Rasheed)§

    병합규칙이있는 테이블에서는 지원되지 않습니다. 그러나 한때 규칙이 있었지만 더 이상하지 않는 테이블에서도 실패했습니다.

  • in병합, a를 세지 마십시오.아무것도가공 튜플로서의 행동 (Álvaro Herrera)§

    이것은 코드의 동작이 문서와 일치하게 만듭니다.

  • 허용재귀… 사이클출력 열 (Tom Lane)에 액세스하려면 CTE§

    에 대한 참조SETCTE 내사설 토토 열이 실패합니다타입 0에 대한 캐시 조회 실패.

  • 외국 테이블에 벌크 삽입을 할 때 보류중인 삽입물 처리 수정 (Etsuro Fujita)§ §

    경우에 따라 보류중인 삽입이 곧 FDW에 플러시되지 않았으므로 논리적 불일치가 발생했습니다.전 행트리거는 볼 수 있어야 할 행을 보지 못합니다.

  • 허용복제 아이덴티티(아직) 유효하지 않은 인덱스에 설정하려면 (Tom Lane)§

    언제pg_dump표시된 분할 된 인덱스를 덤프합니다복제 아이덴티티, 적용되는 명령 순서를 생성합니다복제 아이덴티티분할 된 인덱스가 유효하기 전에 복원이 실패합니다. 그 순서대로 그것을 금지할만한 충분한 이유는 없으므로 허용하십시오.

  • 수정기본값수행하는 규칙의 마커삽입멀티 로우사설 토토List (Dean Rasheed)§

    경우에 따라 A기본값마커는 적절한 기본값 표현식으로 대체되지 않아인식되지 않은 노드 유형오류.

  • 정의되지 않은 변수의 사용을 거부JSONPATH존재 점검 (Alexander Korotkov, David G. Johnston)§

    whileJSONPATH일치 연산자는 경로 패턴사설 토토 정의되지 않은 변수에 대한 오류를 던졌습니다.

  • 수정JSONB구운 첨자 값에 대처하기위한 구독 (Tom Lane, David G. Johnston)§

    테이블사설 토토 직접 가져온 텍스트 값 사용JSONB첨자가 실패했을 가능성이 높습니다. 페치는 일반적으로 일치하는 요소를 찾지 못합니다.

  • 병렬 해시 조인 (DMITRY ASTAPOV)에서 가장자리 사례 데이터 손상 수정§

    임시 파일에 기록되는 큰 튜플의 최종 청크가 정확히 32760 바이트 인 경우 펜스 포스트 버그로 인해 손상됩니다. 쿼리는 일반적으로 부패한 데이터 증상으로 나중에 실패합니다.

  • remon-default 설정의 명예Checkpoint_completion_target(Bharath Rupireddy)§

    내부 상태는 변경 후 업데이트되지 않았습니다Checkpoint_completion_target, 아마도 해당 설정이 즉석사설 토토 변경된 경우, 체크 포인트 I/O가 원하는 것보다 빠르거나 느리게 수행 될 수 있습니다..

  • 올바른 엔드 타임 스탬프를 로그인복구 _target_xid모드 (Tom Lane)§

    를 기준으로 복구를 종료 할 때복구 _target_xid설정복구 _target_inclusive = OFF, 우리는사설 토토 잘못된 타임 스탬프 (항상 2000-01-01)를 인쇄했습니다.전 회복 중지 ... 트랜잭션로그 메시지.

  • 일부 버퍼링 된 파일 읽기 실패에 대한 오류보고 개선 (Peter Eisentraut)§

    관련없는 오류 코드를보고하는 대신 원하는 바이트 수를 제공하고 실제로 읽는 바이트 수를 올바르게보고합니다. 대부분의 장소는 이미 이것을 제대로 얻었지만 최근에 작성된 일부 복제 논리는 그렇지 않았습니다.

  • 요소 수에 대한 임의의 한계 제거int2vectorandoidvector(Tom Lane)§

    이러한 유형의 입력 함수는 이전에 100 개 이상의 요소를 거부했습니다. 논리적 복제 열 목록 기능을 도입하면 수락해야합니다int2vector최대 1600 개의 열이있는 경우, 그렇지 않으면 긴 열 목록은 논리적 반복 실패를 유발합니다.

  • 확장 쿼리 프로토콜사설 토토 즉시 커밋을 피하십시오분석파이프 라인을 실행하는 경우 (Tom Lane)§

    명시 적이 없었던 경우트랜잭션 시작, 분석파이프 라인 된 일련의 명령 내사설 토토 일어나지 않아야하는 커밋을 위해 스스로를 가져갈 것입니다.

  • 잘못된 길이가있는 요청 패킷을 거부합니다 (Andrey Borodin)§

    서버는 길이 단어가 너무 작더라도 취소 요청을 처리합니다. 이로 인해 할당 된 버퍼가 끝날 때까지 읽었습니다.

  • 수정 플래너 수정 창 함수 런 조건 표현식 (Richard Guo, David Rowley)에 대한 감독 전처리 감독.§

    이것은와 같은 플래너 오류로 이어질 수 있습니다.subplan 대상 목록사설 토토 찾을 수 없음.

  • 창 함수 실행 중에 가능한 매달려 포인터 액세스 수정 (David Rowley)§

    실제로 런 조건 최적화는 모든 반환에 발생하는 특정 창 함수에만 적용되기 때문에int8, 이것은 32 비트 빌드사설 토토 문제로 표시됩니다.

  • 서브 쿼리 풀업 (Tom Lane)의 재귀 및 루핑 방어 추가§

    고려 된 쿼리는 하위 쿼리를 평평하게하는 데 깊은 재귀와 불합리한 시간을 초래할 수 있습니다. 이에 대한 적절한 수정은 백 패치에 대해 과도하게 침습적 인 것처럼 보이지만 적어도 스택 깊이 검사와 인터럽트 검사를 추가하여 쿼리를 취소 할 수 있습니다.

  • Memoize 노드를 파티션과 관련하여 Memoize 노드를 결합 할 때 플래너 문제를 해결하십시오.§ §

    이러한 오류는 유용한 상황사설 토토 메모 라이즈를 사용하지 않거나 잘못된 쿼리 계획을 세울 수 있습니다.

  • 각 파티션에 대한 계획을 생성하지 못하는 실패 (Tom Lane)§

    결과가 발생할 수 있습니다주어진 쿼리에 대한 쿼리 계획을 수립 할 수 없습니다오류.

  • |get_actual_variable_range(Simon Riggs)§

    지수 끝에 나타나는 많은 수의 튜플을 삭제 한 직후에 플래너 실행이 발생합니다.살해해당 인덱스 항목에 대한 비트. 100 개의 힙 페이지를 검사 한 후이 프로세스를 포기하여 하나의 쿼리사설 토토 수행 된 작업량을 제한하십시오.

  • 관계의 관계가 변경 될 때 (Andres Freund)가 혼란스러워지는 방지§

    테이블을보기로 변환하면 충돌 또는 어설 션 실패가 발생할 수 있습니다.

  • 부지런한 내부 디스플레이 수정시간대사설 토토Constructs (Tom Lane)§

    이것은 규칙이나 관점에 대한 덤프/복원 실패를 초래할 수 있습니다시간대사설 토토그 자체는 표현입니다.

  • SQL 함수의 유틸리티 명세서에 대한 캐시 된 파르 세트의 클로 브로 링 방지 (Tom Lane, Daniel Gustafsson)§

    SQL 언어 함수가 단일 호출 쿼리 내사설 토토 동일한 유틸리티 명령을 두 번 이상 실행하면와 같은 이상한 오류를보고 할 수 있습니다.인식되지 않은 노드 유형.

  • 풀 텍스트 검색 쿼리의 실행이 문구 일치를 수행하는 동안 (Tom Lane)을 취소 할 수 있는지 확인하십시오.§

  • 비정상적인 콜라이트 (Jeff Davis)를 사용하여 해싱 문자열에서 메모리 누출 수정§

  • 간의 수정DROP DATABASE및 논리 복제 작업자 프로세스 (Hou Zhijie)§

    이것은 근로자의 논리적 복제 슬롯을 생성하면서 인터럽트를 차단하기위한 악의가없는 선택으로 인해 발생했습니다. 버전 15에서 감지되지 않은 교착 상태로 이어질 수 있습니다.

  • 정리libpq실패한 복제 연결 시도 후 연결 객체 (Andres Freund)§

    이전 코딩은 연결 객체를 유출했습니다. 배경 코드 경로에서는 호출 프로세스가 포기하고 종료되기 때문에 상당히 무해합니다.구독 생성, 그러한 실패로 인해 작은 세션-제외 메모리 누출이 발생했습니다.

  • 핫 스탠드 서버사설 토토 1 차 (Simon Riggs, Michail Nikolaev)사설 토토 활성화 된 것으로 알려진 XIDS 추적에 대한 처리 노력을 줄입니다.§

    알려진 AssignedXids 배열의 불충분하게 공격적으로 정리하면 성능이 저하 될 수 있습니다.max_connections대기에서 큰 값으로 설정되어 있습니다.

  • 가장 오래된 카탈로그 Xmin (Sirisha Chamarthi)을 결정하면서 무효화 된 논리적 반복 슬롯을 무시합니다.§

    복제 슬롯은 시스템에서 죽은 튜플의 정리를 막을 수 있습니다.max_slot_wal_keep_size. 따라서 복제 소비자의 실패는 무기한으로 큰 카탈로그 부풀게 될 수 있습니다.

  • 논리적 디코딩사설 토토 트랜잭션이 추락 한 것으로 감지되면 원격 노드에 알림 (Hou Zhijie)§

    서버가 다시 시작된 후 다시 시작하기 직전에 발생하는 트랜잭션 변경 사항을 다시 스트리밍합니다. 이러한 거래 중 일부는 아마도 완료되지 않았을 것입니다.

  • 논리적 디코딩에서의 초기화되지 않은 메모리 사용 수정 (Masahiko Sawada)§

    어떤 경우에는 논리적 디코딩의 재개가 이미 해제 된 XID 데이터를 재사용하려고 시도하여 예측할 수없는 행동으로 이어질 수 있습니다.

  • 논리적 디코딩 컨텍스트 생성 (Masahiko Sawada)에서 공유 상태를 업데이트하는 동안 스핀 락을 획득합니다.§

    우리는 2 단계 트랜잭션에 대한 데이터를 업데이트하면서 적절한 잠금을 획득하는 것을 무시하여 다른 프로세스가 일관되지 않은 데이터를 볼 수있게했습니다..

  • 수정pgoutput테이블의 복제 열 목록 (Hou Zhijie)에 나열되지 않은 열을 보내지 않는 복제 플러그인§

    업데이트and삭제이벤트는 구성된 열 목록에주의를 기울이지 않았으므로 예상보다 더 많은 데이터를 보냅니다. 수신기가 내장 논리 복제 코드 일 때 문제가 발생하지는 않았지만 다른 수신기를 혼동 할 수 있으며 어쨌든 네트워크 대역폭을 낭비 할 수 있습니다..

  • 희귀하지 않음정화 잠금을 획득하지 못했습니다해시-인덱스 페이지 분할 작업의 WAL 재생 중 공황 (Robert Haas)§

  • WAL Replay (Jeff Davis) 중에 볼 수있는 비트를 설정할 때 힙 페이지의 LSN 전진§

    이 작업을 수행하지 못하면 기본 서버사설 토토 페이지가 다른 페이지를 떠났고 LSN이 변경 시점에 대한 다른 기대치를 위반했습니다. 이것은 이론적 인 위험으로 보인다PostgreSQL그 자체가 관련이 있지만 타사 도구를 화나게 할 수 있습니다.

  • 수정int64_div_fast_to_numeric ()더 넓은 범위의 입력 (Dean Rasheed)을 위해 일하기 위해§

    이 기능은 두 번째 인수의 일부 값으로 잘못 행동했습니다. 핵심에는 그러한 사용법이 존재하지 않습니다PostgreSQL, 그러나 그것은 외부 모듈의 위험이므로 수리하십시오.

  • 잠재 버퍼-오버 런 문제 수정WaiteventsetLogic (Thomas Munro)§

    theepoll-기반 및Kqueue기반 구현 내부 버퍼의 크기가 발신자의 출력 버퍼의 크기와 다른 경우 너무 많은 이벤트를 요청할 수 있습니다. 이 사례는 릴리스사설 토토 발생하는 것으로 알려져 있지 않습니다PostgreSQL버전, 그러나이 오류는 외부 모듈 및 향후 버그 수정에 위험합니다.

  • 32 비트 빌드 (Andres Freund)사설 토토 공유 메모리에 액세스 할 때 명목상으로 정의 된 동작을 피하십시오§

    Clang의 정의되지 않은 행동 소독제는 포인터의 사용에 대해 불만을 제기했습니다. 이것이 비 데그 빌드에서 문제를 일으킬 가능성은 거의 없지만 테스트 목적으로 고치는 것이 좋습니다.

  • Brin Minmax-Multi opclasses (Tomas vondra)의 어설 션 실패 수정§

    어설 션은 지나치게 엄격했기 때문에이 실수는 무해하지 않았습니다.

  • 쓸모없는 레트-RTE 최적화 로직 (Tom Lane)에서 결함이있는 주장 제거§

  • ACL 검사를위한 캐시-룩업-발자국 메시지에서 복사 및-페이스 오류 수정 (Justin Pryzby)§

    원칙적으로 이러한 오류에 도달해서는 안됩니다. 그러나 그들이 있다면, 그들 중 일부는 잘못된 유형의 대상을보고했습니다.

  • 매우 큰 테이블 스페이스 맵 파일의 손상 가능한 손상 수정pg_basebackup(Antonin Houska)§

  • 무해한 경고를 피하십시오pg_dumpin-if-Exists모드 (Tom Lane)§

    publicSchema는 비 디폴트 소유자가 있고 사용pg_dump's-if-Exists옵션이 경고 메시지를 초래했습니다경고 : 명령문에 존재하는 경우 삽입 할 위치를 찾을 수 없습니다.. 그래도 덤프 출력은 괜찮 았습니다.

  • 수정PSQL's\ sfand\ efSQL 언어 함수를 처리하는 명령SQL-스탠드 기능 본체 (Tom Lane)§

    이 명령은 새로운 스타일 구문을 사용했을 때 기능 본문의 시작을 잘못 식별했습니다.

  • 수정 탭 완료변경 기능/절차/루틴 ... 스키마 설정(Dean Rasheed)§

  • 업데이트Contrib/PageInspect디스크 액세스 함수를 표시하려면병렬 제한(Tom Lane)§

    이 기능 중 하나가 임시 테이블을 검사하는 데 사용되는 경우 가능한 실패를 피합니다.

  • 수정Contrib/Seg입력 번호에 127 자리 이상이있는 경우 쓰레기를 충돌 시키거나 인쇄하지 않으려면§

  • Microsoft Visual Studio 2013 (Tom Lane)에 대한 빌드 수정§

    이전 패치는 모든 관심 플랫폼이 가지고 있다고 가정합니다snprintf ()그러나 MSVC 2013은 아직 없습니다. 사용으로 되돌아Sprintf ()해당 플랫폼사설 토토.

  • Strawberry Perl (Andrew Dunstan)을 사용할 때 MSVC를 사용하여 PL/PERL을 구축하는 데있어 컴파일 고장 수정§

  • GCC (Andrew Dunstan)로 제작 된 Perl 라이브러리와 비교하여 MSVC로 제작 된 PL/Perl의 불일치 수정§

    그러한 조합은 이전에 실패 할 수 있습니다로드 가능한 라이브러리 및 Perl Binaries가 불일치합니다오류.

  • Perl의 헤더 파일 (Andres Freund)의 컴파일러 경고 억제§

    선호하는 컴파일러 옵션은 최근 버전의 Perl 헤더 파일에 나타나는 구성에 대한 경고를 유발합니다. 사용시GCC, 우리는 Pragma로 이러한 경고를 억제 할 수 있습니다.

  • 수정pg_waldump24420_24502§

  • 시간대 데이터 파일 업데이트TZDATA그린란드와 멕시코의 DST 법률 변경을위한 2022G, 캐나다 북부, 콜롬비아 및 싱가포르의 역사적 교정. (Tom Lane)§

    특히, 새로운 TimeZone America/Ciudad_juarez가 미국/오지나가사설 토토 나왔습니다.