롤 토토 노트

PostgreSQL

E.15. 롤 토토 13.6

출시 날짜 :2022-02-10

이 롤 토토에는 13.5의 다양한 수정 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.

E.15.1. 버전 13.6으로의 마이그레이션

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

그러나 신청 한 경우Reindex 동시에토스트 롤 토토의 색인으로, Toast Datums에 접근하지 못하는 실패를 관찰하려면 아래의 첫 번째 ChangeLog 항목을 참조하십시오..

또한 13.5 이전 버전에서 업그레이드하는 경우 참조섹션 E.16.

E.15.2. 변화

  • 토스트 롤 토토 업데이트를위한 표준 잠금 프로토콜을 시행하여 문제를 방지하기위한Reindex 동시에(Michael Paquier)§

    토스트 롤 토토 또는 토스트 롤 토토 인덱스에 적용된 경우Reindex 동시에손상된 색인을 생성하는 경향이있었습니다. 토스트 항목 업데이트 세션이 롤 토토 되었기 때문에 이런 일이 일어났습니다Row Exclusive다른 모든 업데이트와 마찬가지로 트랜잭션이 커밋 될 때까지 보유하지 않고 즉시 잠금됩니다. 수정 사항은 토스트 업데이트가 일반 규칙에 따라 롤 토토 잠금을 유지하는 것입니다.

  • 널 포인터 충돌을 피하십시오통계 변경통계 개체가 동시에 삭제 될 때 (Tomas Vondra)§

  • 병렬 단일 자식 추가 노드 (David Rowley)에 대한 잘못된 계획 작성 수정§

    경우에 따라 쿼리 결과가 잘못되어서 단순화되어 쿼리 결과가 잘못되었습니다 (복제 행)..

  • 모든 인덱스 열을 반환 할 수없는 경우 (Tom Lane)에 대한 인덱스 전용 스캔 계획 수정§ §

    인덱스에 리턴 가능 및 회전 불가능한 열이 있고, 회전 할 수없는 열 중 하나가 리턴 가능한 색인 열에 나타나는 롤 토토 열을 사용하는 표현식 인 경우, 해당 표현식을 사용하는 쿼리는 수익성 열을 읽을 수없는 인덱스 전용 스캔 플랜을 초래할 수있는 인덱스 전용 스캔 계획을 사용하여 의도적 인 열을 사용하는 표현식입니다. 회전 할 수없는 열은 NULL로 읽어서 쿼리 결과가 잘못되었습니다.

  • 지정되지 않은 타이프 모드로 주조하는 것이 길이 코커 함수 호출 대신 relabeltype 노드를 생성하는지§

    강요 함수가 옳은 일을해야하지만이 번역은 바람직하지 않게 비효율적입니다.

  • 확인 수정Anycompatible-가족 데이터 유형 일치 (Tom Lane)§

    경우에 따라 파서는 함수 또는 연산자가라고 생각할 것입니다.Anycompatible-패밀리 다형성 매개 변수는 실제로 일치하지 말아야 할 인수 세트와 일치합니다. 보고 된 경우, 이로 인해 한 명 이상의 연산자를 통화와 일치시켜 모호한 운영자 오류가 발생했습니다.

  • WAL 페이지 경계 (Álvaro Herrera)에서 데이터베이스 일관성이 정확히 도달 할 때 WAL 재생 실패 수정§

  • 트랜잭션 ID 랩 어라운드 (Abhijit Menon-Sen, Tomas Vondra)를 견딜 수 있도록 물리 복제의 시작을 수정합니다.§

    기본의 활성 트랜잭션 세트가 랩 어라운드 경계를 가로 지르는 동안 복제 서버가 시작된 경우 (따라서 기존 XID보다 작은 XID를 가진 새로운 트랜잭션이있는 경우) 복제본은 실패합니다.알려진 AssignEdXids의 XID 삽입 외부 XID 삽입. 복제본은 재 시도하지만 그 오류를 지나치지 않을 수는 없습니다.

  • 논리적 복제에서는 어린이 롤 토토 데이터의 이중 전송을 피하십시오 (Hou Zhijie)§

    출판물에 자녀와 부모 롤 토토이 모두 포함되어 있고publish_via_partition_root옵션 세트, 가입자는 아동 및 부모 롤 토토 모두에서 동기화를 쓸모 없게 시작했습니다. 그러한 경우에 부모 롤 토토 만 동기화되어 있는지 확인하십시오.

  • 논리적 복제 연결 (Tom Lane)에서 발행 된 SQL 명령에 대한 어휘 제한 제거§ §

    walsender 프로세스는 인용되지 않은 세미콜론을 포함하는 SQL 명령에 실패하거나 단일 또는 이중 견적 마크의 홀수가 포함 된 달러 규모의 리터럴 또는 SQL 명령이 주석으로 시작할 때 실패합니다. 또한 오류 복구가 잘못되면 이후 명령에서도 예상치 못한 오류가 발생할 수 있습니다.

  • 거래의 마지막 하위 변환에 대한 커밋 타임 스탬프의 가능한 손실 수정 (Alex Kingsborough, Kyotaro Horiguchi)§

  • 확실히fsyncthePG_LOGICAL/MAPPING체크 포인트 중 하위 디렉토리 (Nathan Bossart)§

    일부 파일 시스템 에서이 감독은 시스템 충돌 후 논리적 재 작성 상태 파일을 잃을 수 있습니다.

  • 분할 된 롤 토토 (Justin Pryzby)에 대한 확장 통계 빌드§

    이전 버그 수정 이전 버그 수정 구식 상속 트리에 대한 확장 통계의 비활성화 된 건물이지만 불필요한 제한이었던 파티션 테이블을 위해 건축을하지 못했습니다. 이 변경이 가능합니다분석분할 된 테이블의 통계 개체에 대한 값을 계산합니다. (그러나 Autovacuum은 분할 된 테이블을 처리하지 않으므로 정기적으로 매뉴얼을 발행해야합니다분석그러한 통계를 유지하려면 분할 된 롤 토토에서.)

  • 상속 트리에 대한 확장 된 통계를 무시합니다 (Justin Pryzby)§

    현재 확장 된 통계 값은 전체 상속 트리가 아닌 각 롤 토토에 대해 로컬로만 계산됩니다. 그러나 상속 트리를 가로 질러 쿼리를 계획 할 때 값은 실수로 상담되어 기절보다 더 나빠질 수 있습니다.

  • 파티션 된 롤 토토의 행 유형이 다른 곳에서 복합 유형 (Tom Lane)으로 사용될 때 파티션 된 롤 토토 열의 데이터 유형 변경 허용§

    이 제한은 일반 롤 토토에 오랫동안 존재 해 왔지만 감독을 통해 파티셔닝 된 롤 토토을 확인하지 않았습니다.

  • anallowALTER 롤 토토 ... DROP NULL복제 아이덴티티 인덱스 (Haiying Tang, Hou Zhijie)의 일부인 열의 경우§

    기본 키 인덱스에 대해 이미 동일한 금지가 존재했습니다.

  • 동안 캐시 된 롤 토토 상태를 올바르게 업데이트합니다Alter Table Index를 사용하여 기본 키 추가(Hou Zhijie)§

    동시 세션은 롤 토토에 기본 키가 있는지 여부에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작을 일으킬 수 있습니다..

  • 전환시 캐시 된 롤 토토 상태를 올바르게 업데이트복제 아이덴티티색인 (Tang Haiying, Hou Zhijie)§

    동시 세션은 어떤 색인이 복제 아이덴티티인지에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작을 일으킬 수 있습니다..

  • 가장 오래된 Xmin (Masahiko Sawada)을 계산하는 동안 평행 진공 청소기 및 동시 인덱스 빌드를 무시할 수 있습니다.§

    이러한 작업의 비 할행 인스턴스는 이미 무시되었지만 병렬화 된 사례에는 논리가 작동하지 않았습니다. Xmin Horizon을 유지하는 것은 진공 청소 지연과 같은 바람직하지 않은 효과가 있습니다.

  • 동안 메모리가 새는 동안재 설계많은 물체의 소유권을 재 할당하는 작업 (Justin Pryzby)§

  • 불필요한 캐시 액세스를 피함으로써 논리적 변경을 보내는 Walsenders의 성능 향상 (Hou Zhijie)§

  • 디스플레이 수정cert인증 방법의 옵션PG_HBA_FILE_RULESView (Magnus Hagander)§

    thecert인증 방법을 암시합니다clientCert = verify-full그러나PG_HBA_FILE_RULES잘못보고 된보기ClientCert = Verify-CA.

  • 전체 열 변수의 디스플레이 수정삽입 ... 값규칙 (Tom Lane)§

    전체 열 변수는로 인쇄됩니다.var.*그러나 규칙이 다시로드 될 때 개별 열로 확장 할 수 있으므로 의미론이 다릅니다. 우리가 다른 곳에서하는 것처럼 그것을 막기 위해 명시적인 캐스트를 부착하십시오.

  • 유니 코드 문자열 정규화를 빈 문자열 (Michael Paquier)에 적용 할 때 1 바이트 버퍼 오버런 수정§

    정렬 고려 사항 덕분에 이것의 실제 영향은 제한적입니다. 그러나 디버그 빌드에서 경고가 제기되었습니다.

  • 잘못된 주장을 수정하거나 제거합니다 (Simon Riggs, Michael Paquier, Alexander Lakhin)§ § §

    이러한 오류는 생산이 아닌 디버그 빌드에만 영향을 미칩니다.

  • 다중 스레드 사용에서 초기에보고 된 오류 메시지를 현지화하지 못하는 경주 조건을 수정하십시오.libpq또는ecpglib(Tom Lane)§

  • 전화 방지Strerrorlibpq'spqcancel함수 (Tom Lane)§

    pqcancel신호 핸들러에서 호출하는 데 안전해야하지만Strerror안전하지 않습니다. 취소 메시지를 서버로 보내지 못하고 보고서의 부족을 설명 할 가능성이없는 이벤트에서만 발생했을 때만 발생했습니다.

  • makePSQL's\ password암호 설정에 대한 명령 기본값current_user, 연결의 원래 사용자 이름 (Tom Lane)이 아닙니다.§

    이것은 문서화 된 동작에 동의하며, 가능성이있는 권한 실패를 피합니다.역할 설정또는세션 설정 설정세션이 시작된 이후로 완료되었습니다. 혼란을 방지하기 위해 행동 할 역할 이름이 이제 비밀번호 프롬프트에 포함되어 있습니다.

  • 수정PSQL \ d상위 트리거 식별을위한 명령의 쿼리 (Justin Pryzby)§

    이전 코딩은표현식으로 사용되는 서브 쿼리에 의해 반환 된 두 줄 이상파티션에 트리거가 있고 일부 부모가 분할 된 롤 토토에 동일한 이름의 관련 문자 수준 트리거가있는 경우

  • 수정PSQL의 열거 유형에 대한 레이블 값의 탭 완성 (Tom Lane)§

  • inPSQL및 기타 고객 프로그램, 호출을 피하십시오getText ()Control-C 신호 핸들러 (Tom Lane)에서§

    보고 된 실패는이 실수로 추적되지 않았지만 안전한 일이 될 가능성은 거의 없을 것 같습니다.

  • 초기 비밀번호 프롬프트 취소 허용pg_receivewalandpg_recvlogical(Tom Lane, Nathan Bossart)§

    이전에는 암호를 제기하는 동안 Control-C를 통해 이러한 프로그램을 종료하는 것은 불가능했습니다.

  • 수정pg_dump's 사용자 정의 캐스트에 대한 덤프 순서 (Tom Lane)§

    드문 경우, 출력 스크립트는 작성되기 전에 사용자 정의 캐스트를 참조 할 수 있습니다.

  • 수정pg_dump's-insertsand-Column-Inserts생성 된 열과 삭제 된 열 (Tom Lane)을 포함하는 테이블을 처리하는 모드§ §

  • 오류의 오류를 잘못보고 할 수있는 수정pg_dumpandPG_BASEBACKUP(Tom Lane)§ §

    이전 코드는 일부 커널 호출의 오류를 확인하지 못했고 다른 경우에 잘못된 errno 값을보고 할 수 있습니다.

  • 인덱스 전용 스캔 결과 수정Contrib/Btree_gist인덱스 onchar (N)열 (Tom Lane)§

    인덱스 전용 스캔은 후행 공간이 제거 된 경우 열 값을 반환했습니다. 이는 예상되는 동작이 아닙니다. 그것은 데이터가 인덱스에 저장된 방식이기 때문에 일어났습니다.char (N)공간 패딩의 예상 양이있는 값. 그러한 지수의 동작은 귀하가하지 않으면 즉시 변경되지 않습니다Reindexit; 그렇지 않으면 업데이트 중에 시간이 지남에 따라 공간 스트리핑 값이 점차적으로 대체됩니다.

  • 변경구성Python 's를 사용하려면Sysconfig더 이상 사용되지 않는 모듈Distutils모듈, pl/python을 구축하는 방법을 결정하려면 (Peter Eisentraut, Tom Lane, Andres Freund)§

    Python 3.10을 사용하면 피해구성-시간 경고에 대한DistutilsPython 3.12에서 감가 상각되고 예정되어 있습니다. 아마도 3.12가 나면configure-with-python완전히 실패 할 것입니다. 이 미래 방지는 비용이 듭니다 :SysconfigPython 2.7 이전에 또는 Python 3 Branch에서 3.2 이전에 존재하지 않았으므로 더 이상 장거리 Python 버전에 대해 PL/Python을 구축 할 수 없습니다..

  • perl 5.28 이상이있는 Windows에서 PL/PERL 컴파일 고장 (Victor Wagner)§

  • Python 3.11 이후의 Pl/Python 컴파일 고장 수정 (Peter Eisentraut)§

  • Visual Studio 2022 (Hans Buschmann)로 구축에 대한 지원 추가§

  • 허용.BAT22092_22222§ §