출시 날짜 :2022-02-10
이 롤 토토에는 13.5의 다양한 수정 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.
13.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 신청 한 경우Reindex 동시에
토스트 롤 토토의 색인으로, Toast Datums에 접근하지 못하는 실패를 관찰하려면 아래의 첫 번째 ChangeLog 항목을 참조하십시오..
또한 13.5 이전 버전에서 업그레이드하는 경우 참조섹션 E.16.
토스트 롤 토토 업데이트를위한 표준 잠금 프로토콜을 시행하여 문제를 방지하기위한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)§
확실히fsync
thePG_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_RULES
View (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)§
전화 방지Strerror
libpq'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-inserts
and-Column-Inserts
생성 된 열과 삭제 된 열 (Tom Lane)을 포함하는 테이블을 처리하는 모드§ §
오류의 오류를 잘못보고 할 수있는 수정pg_dumpandPG_BASEBACKUP(Tom Lane)§ §
이전 코드는 일부 커널 호출의 오류를 확인하지 못했고 다른 경우에 잘못된 errno 값을보고 할 수 있습니다.
인덱스 전용 스캔 결과 수정Contrib/Btree_gist
인덱스 onchar (
열 (Tom Lane)§N
)
인덱스 전용 스캔은 후행 공간이 제거 된 경우 열 값을 반환했습니다. 이는 예상되는 동작이 아닙니다. 그것은 데이터가 인덱스에 저장된 방식이기 때문에 일어났습니다.char (
공간 패딩의 예상 양이있는 값. 그러한 지수의 동작은 귀하가하지 않으면 즉시 변경되지 않습니다N
)Reindex
it; 그렇지 않으면 업데이트 중에 시간이 지남에 따라 공간 스트리핑 값이 점차적으로 대체됩니다.
변경구성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)로 구축에 대한 지원 추가§