릴토토 커뮤니티 노트

PostgreSQL

E.16. 릴토토 커뮤니티 14.2

출시 날짜 :2022-02-10

이 릴토토 커뮤니티에는 14.1의 다양한 수정 사항이 포함되어 있습니다. Major Release 14의 새로운 기능에 대한 정보는 참조섹션 E.18.

E.16.1. 버전 14.2로의 마이그레이션

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

그러나 처음 두 ChangeLog 항목에서 설명 된 바와 같이 일부 버그가 손상 될 수있는 일부 버그가 발견되었습니다. 해당 사례 중 하나가 귀하에게 적용되면 업데이트 후 영향을받을 수있는 인덱스가 권장됩니다.

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

E.16.2. 변화

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

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

  • 최근 _dead 튜플이 페이지 가지 치기 (Andres Freund) 중에 상태를 완전히 죽일 때 핫 체인의 손상 토토 커뮤니티 (Andres Freund)§

    가능했습니다진공지적한 리디렉션 항목을 남겨 두면서 최근에 죽은 튜플을 제거합니다. 튜플의 항목 슬롯이 나중에 새로운 튜플에 의해 재사용되면, 그 튜플은 기존 핫 체인의 일부로 보이며 인덱스 손상의 형태를 만듭니다.

  • Revationplanqual의 충돌 토토 커뮤니티은 지역 및 외국 파티션 (Etsuro Fujita)이 혼합되어 테이블을 다시 확인합니다.§ §

  • 매달린 포인터 토토 커뮤니티복사(Bharath Rupireddy)§

    이 감독은 오류가 발생한 후 잘못된 오류 메시지 또는 충돌을 일으킬 수 있습니다COPY.

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

  • 멀티 랜지 (Alexander Korotkov)에서 범위를 추출 할 때 정렬 패딩을 올바르게 처리합니다§

    이 오류는 가변 길이 데이터 유형을 통해 멀티 랜조를 처리 할 때 충돌을 일으킬 수 있습니다.

  • 익명에 대한 해싱의 과도한 최적의 사용 토토 커뮤니티레코드데이터 유형 (Tom Lane)§

    이것은 일부 사례를 방지합니다유형 레코드에 대한 해시 함수를 식별 할 수 없음오류.

  • 병렬 단일 자식 추가 노드 (David Rowley)에 대한 잘못된 계획 작성 토토 커뮤니티§

    경우에 따라 부록이 잘못되어서는 안되는 경우 단순화되어 잘못된 쿼리 결과를 초래합니다 (복제 행)..

  • 모든 인덱스 열을 반환 할 수없는 경우 (Tom Lane)에 대한 인덱스 전용 스캔 요금 토토 커뮤니티§ §

    인덱스에 리턴 가능 및 회전 불가능한 열이 모두 있고, 회전 할 수없는 열 중 하나가 반환 가능한 색인 열에 나타나는 테이블 열을 사용하는 표현식 인 경우, 해당 표현식을 사용하는 쿼리는 수익 할 수없는 열에서 표현식을 읽는 대신 인덱스 전용 스캔 플랜을 초래할 수 있습니다. 회전 할 수없는 열은 NULL로 읽어서 쿼리 결과가 잘못되었습니다.

  • Memoize Memoize 노드를 토토 커뮤니티하여 Memoize (David Rowley) 위에서 나오는 매개 변수를 사용하는 하위 플랜트를 처리하도록 계획 노드를 토토 커뮤니티합니다.§

  • 불가능한 조인 연산자 (David Rowley)와 올바르게 작동하도록 계획 노드를 토토 커뮤니티하십시오.§

  • 지정되지 않은 타이프 모드로 캐스팅하는 것이 길이 코커 함수 호출 대신 relabeltype 노드를 생성하는지 확인하십시오 (Tom Lane)§

    강요 함수가 옳은 일을해야하지만 (아무것도),이 번역은 바람직하지 않은 비효율적입니다.

  • 확인 토토 커뮤니티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 명령이 주석으로 시작할 때 달러에 따른 리터럴을 포함합니다. 또한 오류 복구가 잘못되면 이후 명령에서도 예상치 못한 오류가 발생할 수 있습니다.

  • 복제 중에 복제 원본 타임 스탬프가 설정되어 있는지 확인합니다롤백 준비Operation (Masahiko Sawada)§

  • 거래의 마지막 하위 트랜잭션에 대한 커밋 타임 스탬프의 가능한 손실 토토 커뮤니티 (Alex Kingsborough, Kyotaro Horiguchi)§

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

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

  • 분할 된 테이블 (Justin Pryzby)에 대한 확장 통계 빌드§

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

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

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

  • 파티션 된 테이블의 행 유형이 다른 곳에서 복합 유형으로 사용될 때 파티션 된 테이블의 열의 데이터 유형 변경 허용§

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

  • anallowAlter Table ... 드롭 아님복제 아이덴티티 인덱스 (Haiying Tang, Hou Zhijie)의 일부인 열의 경우§

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

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

    동시 세션은 테이블에 기본 키가 있는지 여부에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작을 유발할 수 있습니다.

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

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

  • 인덱스 된 열의 데이터 유형이 선언 된 입력 유형의 연산자 클래스 (Tom Lane)와 이진과 호환 될 때 SP-Gist 인덱스의 실패 토토 커뮤니티§

    그러한 경우는 작동하지만 실패잎 유형이 입력 유형과 다른 경우 압축 방법을 정의해야합니다.

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

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

  • 표현식 인덱스를 업데이트 할 때 메모리 누출 토토 커뮤니티 (Peter Geoghegan)§

    an업데이트많은 행에 영향을 미치는 것은 상당한 양의 메모리를 소비 할 수 있습니다.

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

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

  • 디스플레이 토토 커뮤니티cert인증 방법의 옵션PG_HBA_FILE_RULESView (Magnus Hagander)§

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

  • 세션이 대상이되는지 확인PG_LOG_BACKEND_MEMORY_CONTEXTS ()결과를 서버의 로그 (Fujii Masao)에만 보냅니다.§

    이전에는 충분히 높은 설정client_min_messages로그 메시지가 연결된 클라이언트로 전송 될 수 있습니다. 그 클라이언트는 그것을 요청하지 않았기 때문에 놀랍습니다 (그리고 아마도 와이어 프로토콜 위반).

  • 전체 열 변수의 디스플레이 토토 커뮤니티삽입 ... 값규칙 (Tom Lane)§

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

  • SQL 표준 기능 본체를 리버스 토토 커뮤니티트링 할 때 내에서 기능 매개 변수를 적절하게 표시합니다.삽입 ... 선택(Tom Lane)§

    이전에, 그들은로 나왔습니다.$N매개 변수에 이름이있는 경우에도

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

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

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

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

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

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

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

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

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

  • 토토 커뮤니티PSQL \ d상위 트리거 식별을위한 명령의 쿼리 (Justin Pryzby)§

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

  • makePSQL's\ d명령 정렬 이름이 아닌 OID (Justin Pryzby) 이름별로의 확장 통계 객체§

  • 토토 커뮤니티PSQL의 열거 유형에 대한 레이블 값의 탭 완성 (Tom Lane)§

  • 터미널을 데이터 소스 또는 대상으로 사용할 때 Windows에서 실패 토토 커뮤니티 (Dmitry Koval, Juan José Santamaría Flecha, Michael Paquier)§ §

    이것은 영향을 미칩니다PSQL's\ copy명령 및pg_recvlogicalwith-f-.

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

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

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

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

  • 토토 커뮤니티pg_dump의 사용자 정의 캐스트에 대한 덤프 주문 (Tom Lane)§

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

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

  • 오류에 대한 오류를 잘못보고 할 수있는 토토 커뮤니티pg_dumpandPG_BASEBACKUP(Tom Lane)§ §

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

  • 인덱스 전용 스캔 결과 토토 커뮤니티Contrib/Btree_gistindexes onchar (N)열 (Tom Lane)§

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

  • Edge Cases inPostgres_FDW의 비동기 쿼리 처리 (Etsuro Fujita)§ §

    이러한 오류는 외국 테이블 스캔을 병렬화하려고 할 때 충돌 또는 잘못된 결과로 이어질 수 있습니다.

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

    Python 3.10을 사용하면 피해구성19488_19508DistutilsPython 3.12에서 감가 상각되고 제거 될 예정. 아마도 3.12가 나면구성-with-python완전히 실패합니다. 이 미래 방지는 비용이 듭니다 :SysconfigPython 2.7 이전에 또는 Python 3 Branch에서 3.2 이전에 존재하지 않았으므로 더 이상 긴 죽음의 Python 버전에 대해 PL/Python을 구축 할 수 없습니다.

  • 없이 크로스 컴파일을 재구성하지 않고OpenSSL(Tom Lane)§

    구성/dev/urandom대상 시스템에서 사용할 수 있지만 대신 실패합니다.

  • perl 5.28 이상이있는 Windows에서 PL/PERL 컴파일 실패 토토 커뮤니티 (Victor Wagner)§

  • Python 3.11 이상으로 Pl/Python 컴파일 고장 토토 커뮤니티 (Peter Eisentraut)§

  • Visual Studio 2022 (Hans Buschmann)로 건축 지원 추가§

  • 허용.BATMSVC 빌드 시스템의 래퍼 스크립트는 디렉토리 (Anton Voloshin, Andrew Dunstan)을 먼저 변경하지 않고 호출 할 수 있습니다.§ §