출시일: 2022-02-10
이 릴리스에는 12.9의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 12의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 PostgreSQL : 문서 : 12 : E.23. 릴리스 12.
12.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 신청한 경우동시에 재색인TOAST 배트맨 토토의 인덱스에 추가하거나 TOAST 데이터 액세스 실패를 관찰하려면 아래 첫 번째 변경 로그 항목을 참조하세요.
또한 12.9 이전 버전에서 업그레이드하는 경우 참조토토 사이트 순위 PostgreSQL : 문서 : 12 : E.14. 릴리스 12.9.
TOAST 배트맨 토토 업데이트에 대한 표준 잠금 프로토콜을 시행하여 문제를 방지합니다.동시에 재색인(마이클 파퀴에)§
TOAST 배트맨 토토 또는 TOAST 배트맨 토토의 인덱스에 적용되는 경우,동시에 재색인손상된 색인을 생성하는 경향이 있었습니다. 이는 TOAST 항목을 업데이트하는 세션에서 해당 항목이 공개되었기 때문에 발생했습니다.행 독점다른 모든 업데이트처럼 트랜잭션이 커밋될 때까지 보류하는 대신 즉시 잠급니다. 해결책은 TOAST 업데이트가 일반적인 규칙에 따라 배트맨 토토 잠금을 유지하도록 하는 것입니다. 기존의 손상된 색인은 다시 색인을 생성하여 복구할 수 있습니다.
병렬 단일 하위 Append 노드에 대한 잘못된 계획 생성 수정(David Rowley)§
어떤 경우에는 추가가 단순화되어서는 안되는 경우가 있어 잘못된 쿼리 결과(중복된 행)가 발생합니다.
모든 인덱스 열을 반환할 수 없는 경우에 대한 인덱스 전용 스캔 계획 수정(Tom Lane)§ §
인덱스에 반환 가능 열과 반환 불가능 열이 모두 있고 반환 불가능 열 중 하나가 반환 가능 인덱스 열에 나타나는 배트맨 토토 열을 사용하는 표현식인 경우, 해당 표현식을 사용하는 쿼리는 의도한 대로 반환 가능 열에서 표현식을 다시 계산하는 대신 반환 불가능 열을 읽으려고 시도하는 인덱스 전용 스캔 계획이 될 수 있습니다. 반환할 수 없는 열이 NULL로 읽혀 잘못된 쿼리 결과가 발생합니다.
지정되지 않은 typmod로 캐스팅하면 길이 강제 함수 호출이 아닌 RelabelType 노드가 생성되는지 확인하세요(Tom Lane)§
강제 기능은 옳은 일(아무것도 하지 않음)을 해야 하지만, 이 번역은 바람직하지 않게 비효율적입니다.
데이터베이스 일관성이 정확히 WAL 페이지 경계에 도달할 때 WAL 재생 실패 수정(Álvaro Herrera)§
트랜잭션 ID 랩어라운드를 허용하도록 물리적 복제본의 시작 수정(Abhijit Menon-Sen, Tomas Vondra)§
기본의 활성 트랜잭션 집합이 랩어라운드 경계를 교차하는 동안 복제본 서버가 시작되면(이전 트랜잭션보다 더 작은 XID를 가진 일부 최신 트랜잭션이 있음) 복제본이 실패합니다.“KnownAssignedXids에 잘못된 XID 삽입”. 복제본이 다시 시도하지만 해당 오류를 통과할 수 없습니다.
논리적 복제 연결에서 실행된 SQL 명령에 대한 어휘 제한 제거(Tom Lane)§ §
왈센더 프로세스는 따옴표가 없는 세미콜론이 포함된 SQL 명령, 홀수 개의 작은따옴표 또는 큰따옴표가 포함된 달러 따옴표 리터럴이 있는 경우 또는 SQL 명령이 주석으로 시작하는 경우 실패합니다. 또한 잘못된 오류 복구로 인해 이후 명령에서도 예상치 못한 오류가 발생할 수 있습니다.
트랜잭션의 마지막 하위 트랜잭션에 대한 커밋 타임스탬프의 손실 가능성 수정(Alex Kingsborough, Kyotaro Horiguchi)§
반드시 다음을 수행하세요fsyncthepg_logical/mappings체크포인트 중 하위 디렉토리(Nathan Bossart)§
일부 파일 시스템에서는 이러한 감독으로 인해 시스템 충돌 후 논리적 재작성 상태 파일이 손실될 수 있습니다.
분할된 배트맨 토토에 대한 확장 통계 구축(Justin Pryzby)§
이전 버그 수정으로 인해 기존 상속 트리에 대한 확장 통계 구축이 비활성화되었지만 분할된 테이블에 대한 확장 통계 구축도 방지되었는데 이는 불필요한 제한이었습니다. 이 변경으로 인해 다음이 허용됩니다.분석파티션을 나눈 배트맨 토토의 통계 개체 값을 계산합니다. (단, autovacuum은 분할된 배트맨 토토을 그대로 처리하지 않으므로 주기적으로 manual을 발행해야 한다는 점에 유의하세요.분석그러한 통계를 유지하려면 파티션된 배트맨 토토에서.)
상속 트리에 대한 확장 통계 무시(Justin Pryzby)§
현재 확장 통계 값은 전체 상속 트리가 아닌 각 테이블에 대해서만 로컬로 계산됩니다. 그러나 상속 트리 전체에 걸쳐 쿼리를 계획할 때 값이 실수로 참조되어 기본값보다 더 나쁜 추정치가 나올 수 있습니다.
분할된 배트맨 토토의 행 유형이 다른 곳에서 복합 유형으로 사용될 때 분할된 배트맨 토토 열의 데이터 유형 변경을 허용하지 않음(Tom Lane)§
이 제한은 일반 배트맨 토토에 오랫동안 존재해 왔지만 실수로 파티션된 배트맨 토토에 대해서는 확인되지 않았습니다.
허용하지 않음배트맨 토토 변경 ... NULL이 아닌 삭제복제본 ID 인덱스의 일부인 열의 경우(Haiying Tang, Hou Zhijie)§
기본 키 인덱스에 대해 동일한 금지 사항이 이미 존재했습니다.
다음 동안 캐시된 테이블 상태를 올바르게 업데이트합니다.인덱스를 사용하여 배트맨 토토 변경 기본 키 추가(허우 지지에)§
동시 세션이 배트맨 토토에 기본 키가 있는지 여부에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작이 발생할 수 있습니다.
전환 시 캐시된 배트맨 토토 상태를 올바르게 업데이트복제본 ID색인(탕하이잉, 허우즈지에)§
동시 세션이 어떤 인덱스가 복제본 ID인지에 대한 의견을 업데이트하지 못하여 잘못된 논리적 복제 동작을 일으킬 수 있습니다.
동안 메모리 누수 방지소유자 재할당많은 개체의 소유권을 재할당하는 작업(Justin Pryzby)§
표시 수정인증서인증 방법 옵션pg_hba_file_rules보기 (Magnus Hagander)§
그인증서인증 방법이 의미함clientcert=verify-full하지만pg_hba_file_rules잘못 보고된 보기clientcert=verify-ca.
다음에 나타나는 전체 행 변수 표시 수정삽입 ... 값규칙(톰 레인)§
전체 행 변수는 다음과 같이 인쇄됩니다.“var.*”, 그러나 규칙을 다시 로드할 때 개별 열로 확장할 수 있으므로 의미가 달라집니다. 이를 방지하기 위해 다른 곳에서와 마찬가지로 명시적 캐스트를 연결합니다.
일부 잘못된 주장 수정 또는 제거(Simon Riggs, Michael Paquier, Alexander Lakhin)§ § §
이러한 오류는 프로덕션이 아닌 디버그 빌드에만 영향을 미칩니다.
다중 스레드 사용 초기에 보고되는 오류 메시지 현지화에 실패할 수 있는 경쟁 조건 수정libpq또는ecpglib(톰 레인)§
전화를 피하세요strerrorfromlibpq의PQ취소함수 (톰 레인)§
PQ취소신호 처리기에서 호출하는 것이 안전하다고 가정하지만strerror안전하지 않습니다. 잘못된 사용은 서버에 취소 메시지를 보내지 못한 경우에만 발생했으며, 이는 아마도 보고서가 부족했기 때문일 수 있습니다.
만들다psql's\비밀번호명령의 기본값은 비밀번호 설정입니다.CURRENT_USER, 연결의 원래 사용자 이름(Tom Lane)이 아님§
이것은 문서화된 동작에 동의하며 다음과 같은 경우에 가능한 권한 실패를 방지합니다.역할 설정또는세션 승인 설정17820_17952
에psql및 기타 클라이언트 프로그램, 호출 시도를 피하세요gettext()control-C 신호 처리기(Tom Lane)에서§
이 실수로 인해 발생한 실패 사례는 보고되지 않았지만 안전한 작업이 될 가능성은 거의 없습니다.
초기 비밀번호 프롬프트 취소 허용pg_receivewal그리고pg_recvlogical(톰 레인, 네이선 보사트)§
이전에는 비밀번호를 묻는 동안 Ctrl-C를 통해 이러한 프로그램을 종료하는 것이 불가능했습니다.
수정pg_dump의 사용자 정의 캐스트에 대한 덤프 순서(Tom Lane)§
드물게 출력 스크립트가 생성되기 전에 사용자 정의 캐스트를 참조할 수도 있습니다.
수정pg_dump's--삽입그리고--열 삽입생성된 열과 삭제된 열이 모두 포함된 배트맨 토토을 처리하는 모드(Tom Lane)§ §
오류에 대한 잘못된 보고 가능성 수정pg_dump그리고pg_basebackup(톰 레인)§ §
이전 코드는 일부 커널 호출에서 오류를 확인하지 못했고 다른 경우에는 잘못된 errno 값을 보고할 수 있었습니다.
색인 전용 스캔 결과 수정contrib/btree_gist색인문자(열(톰 레인)§N)
인덱스 전용은 예상된 동작이 아닌 후행 공백이 제거된 반환된 열 값을 검색합니다. 이는 데이터가 인덱스에 저장되는 방식이기 때문에 발생했습니다. 이 수정으로 저장할 코드가 변경됩니다.문자(값을 예상 공백 패딩 양으로 바꿉니다. 이러한 인덱스의 동작은 다음과 같은 경우를 제외하고는 즉시 변경되지 않습니다.N)REINDEX그것; 그렇지 않으면 공백이 제거된 값이 업데이트 중에 시간이 지남에 따라 점차적으로 대체됩니다. 인덱스 전용 스캔 계획을 사용하지 않는 쿼리는 어떤 경우에도 영향을 받지 않습니다.
변경구성파이썬을 사용하기 위해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 브랜치의 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)§
허용.bat디렉토리로 먼저 변경하지 않고 호출할 수 있는 MSVC 빌드 시스템의 래퍼 스크립트(Anton Voloshin, Andrew Dunstan)§ §