출시 날짜 :2024-02-08
이 사설 토토에는 13.13의 다양한 수정 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.
13.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 하나의 버그가 고정되어 동시 업데이트 중에 GIN 인덱스가 손상 될 수있었습니다. 그러한 부패가 의심되는 경우,이 업데이트를 설치 한 후 Reindex에 영향을 미쳤습니다.
또한 13.13 이전 버전에서 업그레이드하는 경우 참조섹션 E.8.
내에서 보안 제한 조임재생 구체화 된보기 동시에
(Heikki Linnakangas)§ §
동시 새로 고침 명령의 한 단계가 약한 보안 제한에 따라 실행되었습니다. 구체화 된 View의 소유자가 슈퍼 사용자 나 다른 유명한 사용자가 해당보기에서 동시 새로 고침을 수행하도록 설득 할 수 있다면 View의 소유자는 사용자가 실행되는 사용자의 권한으로 실행 된 코드를 제어 할 수 있습니다새로 고침
. 모든 사용자 결정 코드가 예상대로 뷰의 소유자로 실행되도록 사항을 고정하십시오.
이 오류에 대한 유일한 악용은 작동하지 않습니다사설 토토16.0 이상, v16이 실제로 취약하지 않을 수 있습니다.
the사설 토토프로젝트이 문제를보고 한 Pedro Gallegos 감사합니다. (CVE-2024-0985)
Jit Inlining을 수행 할 때 메모리 누출 수정 (Andres Freund, Daniel Gustafsson)§
충분히 많은 JIT 편집 후에 메모리 외 조건을 겪는 백엔드 프로세스에 대한 여러 보고서가있었습니다. 이 수정은 그것을 해결해야합니다.
LWLOCK에서 탈출 할 때 대기 프로세스 목록 (Andres Freund)을 검색하지 않아도됩니다.§
이것은 웨이터 목록이 길면 O (n^2) 동작을 수정합니다. 일부 유스 케이스에서는 이로 인해 상당한 처리량 개선이 발생합니다.
부정확 한 파티션 조명 계획을 생성하지 마십시오 (Richard Guo)§
측면 참조와 관련된 일부 드문 상황은 잘못된 계획을 만들 수 있습니다. 영향을받는 쿼리는 잘못된 답변이나와 같은 이상한 실패를 일으킬 수 있습니다.“변수 대상 목록에서 찾을 수없는 가변”또는 집행자 충돌.
위장대 바닥에서 하위 쿼리 출력 표현식의 잘못된 래핑 수정 (Tom Lane)§
서브 쿼리가 외부 조인 아래에있을 때 잘못된 결과를 수정하고 외부 조인의 범위 외부에 무언가를 측면으로 참조하는 출력 열이 있습니다. 외부 조인의 동작으로 인해 출력 열이 널으로 나타나지 않을 수 있습니다.
병렬 해시 조인 (Thomas Munro, Andrei Lepikhov, Alexander Korotkov)에서 대형 공유 메모리 구역을 요청하지 마십시오.§ §
제한 값이 너무 커서 허용“잘못된 DSA 메모리 Alloc 요청 크기”충분히 큰 예상 해시 테이블 크기로 발생할 오류.
어설 션 실패 방지heap_update ()
andheap_delete ()
외국 키 시행 트리거로 업데이트 할 튜플이 추가 가시성 CrossCheck (Alexander Lakhin)에 실패 할 때§
이 오류는 비 합산 빌드에 영향을 미치지 않았습니다.
가능한 고장 수정Alter Table 추가 열
복잡한 상속 트리 (Tender Wang)에서§
손자 테이블이 여러 중간 부모를 통해 새 열을 물려 받으면 명령이 실패했습니다“튜플은 이미 self”.
중복 토큰 이름으로 문제를 해결텍스트 검색 변경 ... 매핑
Commands (Tender Wang, Michael Paquier)§
관련 테이블을 올바르게 잠그십시오드롭 통계
(Tomas vondra)§
자물쇠를 획득하지 못하면“튜플 동시 삭제”오류 인 경우드롭
동시에 실행분석
.
기능 변동성 검사 수정생성
and기본값
Expressions (Tom Lane)§
이 장소는 휘발성 기능 기본 연락 표현식의 삽입을 감지하지 못하거나 다형 기능이 실제로 관심있는 데이터 유형에 불변이지만 휘발성이 있다고 결정할 수 있습니다. 이것은 부적절하게 거부하거나 수락 할 수 있습니다생성
조항, 또는 실수로 일정한 변호사 값 최적화를 적용하기 위해Alter Table 추가 열
.
필드 (Tom Lane)를 해체하는 동안 새로운 카탈로그 캐시 항목이 오래되었음을 감지합니다.§ §
카탈로그 캐시에 삽입하기 전에 카탈로그 튜플의 외부 필드를 확장합니다. 여기에는 카탈로그 캐시 항목이 무효화 될 수있는 데이터베이스 액세스와 관련이 있지만 새 항목은 아직 캐시에 있지 않으므로 무효화되어야한다는 사실에 주목할 것입니다.
일부 플랫폼에서 가장자리 사례 정수 오버플로 탐지 버그 수정 (Dean Rasheed)§
컴퓨팅0 -int64_min
는 오버플로 오류가 발생하고 대부분의 플랫폼에서 수행해야합니다. 그러나 정수 오버플로 빌드 딘이나 128 비트 정수가없는 플랫폼은 오버플로를 발견하지 못하고 대신 반환int64_min
.
추가하거나 빼면 줄리안 날짜 오버플로 감지간격
to/from a타임 스탬프
(Tom Lane)§
범위 외 오류를 유발 해야하는 경우 대신 잘못된 결과를 얻었습니다.
오버플로에 대한 더 많은 점검 추가interval_mul ()
andinterval_div ()
(Dean Rasheed)§
범위 외 오류를 유발 해야하는 경우 대신 잘못된 결과를 얻었습니다.
만들기PG_FILE_SETTINGS
설정에 대한 적용되지 않은 값의 확인 유효성보기백엔드
또는SuperUser-Backend
Context (Tom Lane)§
잘못된 값은 의도 한대로보기에 기록되지 않았습니다. 이 그룹에는 설정이 거의 없기 때문에 탈출 한 감지.
기존 인덱스를 새로운 파티션 된 인덱스 (Peter Eisentraut)와 일치시킬 때도 콜라이트를 일치시킵니다.§
이전에 우리는 파티션 키의 해당 요소와 다른 콜라이트를 갖는 색인을 수락하여 오작동으로 이어질 수 있습니다..
진 지수의 내부 페이지의 불완전한 분할을 청소할 때 불충분 한 잠금 수정 (Fei Changhong, Heikki Linnakangas)§
코드는 버퍼의 독점 잠금이 아닌 공유로이를 수행하려고 시도했습니다. 두 프로세스가 정리를 동시에 시도하면 인덱스 손상으로 이어질 수 있습니다.
진 인덱스 삽입 (Tom Lane)에서 버퍼 핀의 조기 해제를 피하십시오§
인덱스 루트 페이지 분할이 우리 자신의 삽입과 동시에 발생하면 코드가 실패 할 수 있습니다“버퍼 Nnnn은 자원 소유자가 소유하지 않습니다”.
분할 된 SP-Gist 인덱스 (Tom Lane)의 실패를 피하십시오§
이런 종류의 색인을 사용하려고 시도하면“그러한 파일 또는 디렉토리 없음”오류.
큰 오브젝트에 대한 소유권 변경보고 수정 (Tom Lane)§
a-op대형 오브젝트 소유자 변경
명령 (즉, 기존 소유자를 선택하는 사람)은 잘못된 클래스 ID를 전달했습니다.Postalterhook
대기 서버가 서브 트랜잭션 (FEI Changhong) 중에 죽은 색인 튜플을 잘못 처리하는 것을 방지합니다§
theStartInRecovery
플래그는 하위 트랜잭션을 위해 올바르게 설정되지 않았습니다. 이것은 죽은 색인 튜플의 처리에만 영향을 미칩니다.
논리적 복제 간의 교착 상태 수정 작업자, 테이블 동기 작업자 및 구독을 변경하려는 세션 프로세스 (Shlok Kyal)§
교착 상태 루프의 한쪽 가장자리에는 잠금 대기가 포함되지 않았으므로 교착 상태는 감지되지 않았으며 수동 개입까지 지속됩니다..
새 클라이언트가 서버의 비밀번호 도전에 응답하지 않고 연결을 끊을 때 올바른 상태 코드를 반환합니다 (Liu Lang, Tom Lane)§
경우에 따라 우리는 이것을 loggable 오류로 취급합니다.PSQL자주이 작업을 수행합니다. 또한 사용하는 확장을 혼동 할 수도 있습니다ClientAuthentication_hook
.
비 호환성 수정OpenSSL3.2 (Tristan Partin, Bo Andreson)§
바이오 사용“APP_DATA”개인 저장 공간 필드, 사용해도 괜찮다고 가정하는 대신“데이터”필드. 이 실수는 전에는 문제를 일으키지 않았지만 3.2로 인해 두 번의 자유에 대한 충돌과 불만이 발생합니다.
더 조심하십시오OpenSSL설정되지 않음errno
on Error (Tom Lane)§
iferrno
설정되지 않았으며보고 된 고장의 원인이 EOF라고 가정합니다. 이것은와 같은 이상한 오류 보고서의 드문 경우를 수정합니다.“SSL 연결을 수락 할 수 없음 : 성공”.
보고서enomem파일 관련 시스템의 오류errcode_out_of_memory
, 아님errcode_internal_error
(Alexander Kuzmenkov)§
때 레이스 상태를 피하십시오libpqOpenSSL 지원 초기화 두 개의 다른 스레드 (Willi Mann, Michael Paquier)§
GSSAPI 데이터 전송 (Tom Lane)에서 타이밍 의존적 고장 수정§
비 블로킹 모드에서 GSSAPI 암호화를 사용할 때libpq때때로 실패“GSSAPI 발신자는 재조정 해야하는 모든 데이터를 재전송하지 못했습니다”.
inpg_dump, 확장 회원 객체에 대한 RLS 정책 또는 보안 레이블을 덤프하지 마십시오 (Tom Lane, Jacob Champion)§ §
이전에는 이러한 속성을 설정하기위한 덤프에 명령이 포함되어 있으며, 이는 확장 내부 문제로 간주되어야하므로 실제로 부정확합니다. 또한, 복원 사용자는이를 설정하는 데 적절한 권한이 없을 수 있으며, 실제로 덤핑 사용자는이를 덤프하기에 충분한 권한이 없을 수 있습니다 (RLS 정책을 덤프하기 때문에 테이블에 잠금을 획득해야하기 때문에)..
inpg_dump, 기본 테이블이 덤프되지 않으면 확장 통계 객체를 버리지 마십시오 (Rian McGuire, Tom Lane)§
이것은 인덱스와 같은 다른 종속 객체의 동작을 준수합니다.
충돌 수정Contrib/Intarray
요소가있는 배열이 인 경우int_max
A에 삽입됩니다gist__int_ops
Index (Alexander Lakhin, Tom Lane)§
더 나은 오류를보고Contrib/PageInspect
'shash_bitmap_info ()
기능이 분할 된 해시 지수에 적용됩니다 (Alexander Lakhin, Michael Paquier)§
더 나은 오류를보고contrib/pgstattuple
'spgstathashIndex ()
함수는 분할 된 해시 지수 (Alexander Lakhin)에 적용됩니다§
Windows에서, Subprocesses를 시작할 때 Autorun 옵션을 억제합니다PG_CTLandPG_REGRESS(Kyotaro Horiguchi)§ §
cmd.exe
, 통과/d
레지스트리에 지정된 Autorun 명령을 실행하는 것을 방지하기위한 플래그. 이것은 가능성이 높은 부작용을 피할 수 있습니다.
컴파일 실패 수정libxml2버전 2.12.0 이상 (Tom Lane)§
편집 실패 수정Wal_debug
Windows의 코드 (Bharath Rupireddy)§
Python의 헤더 파일 (Peter Eisentraut, Tom Lane)에서 컴파일러 경고를 억제합니다.§
선호하는 컴파일러 옵션은 최근 버전의 Python 헤더 파일에 나타나는 구성에 대한 경고를 유발합니다. 사용시GCC, 우리는 Pragma로 이러한 경고를 억제 할 수 있습니다.
LLVM 18 (Thomas Munro)로 컴파일 할 때 감가 상각 경고를 피하십시오§
시간대 데이터 파일 업데이트TZDATAGreenland, Kazakhstan 및 Palestine의 DST 법률 변경에 대한 릴리스 2024a와 남극 역의 Casey와 Vostok의 수정. 베트남, 토론토 및 미켈론의 역사적 수정.§