출시 날짜 :2024-02-08
이 릴리스에는 14.10의 다양한 수정 사항이 포함되어 토토 꽁 머니. Major Release 14의 새로운 기능에 대한 정보는 참조섹션 E.18.
덤프/복원은 14.x.를 실행하는 사람들에게는 필요하지 않습니다.
그러나 하나의 버그가 고정되어 동시 업데이트 중에 GIN 인덱스가 손상 될 수있었습니다. 그러한 부패가 의심되는 경우,이 업데이트를 설치 한 후 Reindex에 영향을 미쳤습니다.
또한 14.10 이전 버전에서 업그레이드하는 경우 참조섹션 E.8.
내에서 보안 제한 조임재생 구체화 된보기 동시에
(Heikki Linnakangas)§ §
동시 새로 고침 명령의 한 단계가 약한 보안 제한에 따라 실행되었습니다. 구체화 된 View의 소유자가 슈퍼 사용자 나 다른 유명한 사용자가 해당보기에서 동시 새로 고침을 수행하도록 설득 할 수 있다면 View의 소유자는 사용자가 실행되는 사용자의 권한으로 실행 된 코드를 제어 할 수 토토 꽁 머니새로 고침
. 모든 사용자 결정 코드가 예상대로 뷰의 소유자로 실행되도록 사항을 고정하십시오.
이 오류에 대한 유일한 악용은 작동하지 않습니다PostgreSQL16.0 이상, v16이 실제로 취약하지 않을 수 토토 꽁 머니.
thePostgreSQL프로젝트이 문제를보고 한 Pedro Gallegos 감사합니다. (CVE-2024-0985)
Jit Inlining을 수행 할 때 메모리 누출 수정 (Andres Freund, Daniel Gustafsson)§
충분히 많은 JIT 편집 후에 메모리 외 조건을 겪는 백엔드 프로세스에 대한 여러 보고서가있었습니다. 이 수정은 그것을 해결해야합니다.
LWLOCK에서 탈출 할 때 대기 프로세스 목록 (Andres Freund)을 검색하지 않아도됩니다.§
이것은 웨이터 목록이 길면 O (n^2) 동작을 수정합니다. 일부 유스 케이스에서는 이로 인해 상당한 처리량 개선이 발생합니다.
부정확 한 파티션 조명 계획을 생성하지 마십시오 (Richard Guo)§
측면 참조와 관련된 일부 드문 상황은 잘못된 계획을 만들 수 토토 꽁 머니. 영향을받는 쿼리는 잘못된 답변이나와 같은 이상한 실패를 일으킬 수 토토 꽁 머니.“변수 대상 목록에서 찾을 수없는 가변”또는 집행자 충돌.
위장대 바닥에서 하위 쿼리 출력 표현식의 잘못된 래핑 수정 (Tom Lane)§
서브 쿼리가 외부 조인 아래에있을 때 잘못된 결과를 수정하고 외부 조인의 범위 외부에 무언가를 측면으로 참조하는 출력 열이 토토 꽁 머니. 외부 조인의 동작으로 인해 출력 열이 널으로 나타나지 않을 수 토토 꽁 머니.
Longer-Pinned 버퍼에 대한 액세스 방지행 전 업데이트 전
Triggers (Alexander Lakhin, Tom Lane)§
다른 세션에서 업데이트되는 튜플이 업데이트되어 다른 페이지로 이동 한 경우 버퍼에 핀없이 새 튜플 버전에서 데이터를 가져 오려는 좁은 창이있었습니다. 원칙적으로 이것은 제안 된 새로운 튜플의 업데이트 된 열에 쓰레기 데이터가 나타날 수 토토 꽁 머니.
병렬 해시 조인 (Thomas Munro, Andrei Lepikhov, Alexander Korotkov)에서 대형 공유 메모리 지역을 요청하지 마십시오.§ §
제한 값이 너무 커서 허용“잘못된 DSA 메모리 Alloc 요청 크기”충분히 큰 해시 테이블 크기로 발생하는 오류.
어설 션 실패 방지heap_update ()
andheap_delete ()
외국 키 시행 트리거로 업데이트 할 튜플이 추가 가시성 CrossCheck (Alexander Lakhin)에 실패 할 때§
이 오류는 비 합산 빌드에 영향을 미치지 않았습니다.
지나치게 긴밀한 주장을 고치려면false_positive_rate
Brin Bloom Operator 클래스의 매개 변수 (Alexander Lakhin)§
이 오류는 비 합산 빌드에도 영향을 미치지 않았습니다.
가능한 고장 수정Alter Table 추가 열
복잡한 상속 트리 (Tender Wang)에서§
손자 테이블이 여러 중간 부모를 통해 새 열을 물려 받으면 명령이 실패했습니다.“튜플은 이미 자체적으로 업데이트 됨”.
중복 토큰 이름으로 문제를 해결하십시오텍스트 검색 변경 ... 매핑
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)§
범위 외 오류를 유발 해야하는 경우 대신 잘못된 결과를 얻었습니다.
오버플로에 대한 더 많은 점검 추가10392_10406
andinterval_div ()
(Dean Rasheed)§
범위 외 오류를 유발 해야하는 경우 대신 잘못된 결과를 얻었습니다.
만들기PG_FILE_SETTINGS
설정에 대한 적용되지 않은 값의 확인 유효성보기백엔드
또는SuperUser-Backend
Context (Tom Lane)§
잘못된 값은 의도 한대로보기에 나타나지 않았습니다. 이 그룹에는 설정이 거의 없기 때문에 탈출 한 감지.
기존 인덱스를 새로운 파티션 된 인덱스 (Peter Eisentraut)와 일치시킬 때도 일치하는 Collation§
이전에 우리는 파티션 키의 해당 요소와 다른 콜라이트를 갖는 인덱스를 수락 할 수 있으며, 오작동으로 이어질 수 있습니다..
아동 지수가 동시에 삭제되면 실패를 피하십시오Reindex Index
파티션 된 인덱스 (FEI Changhong)§ §
진 인덱스의 내부 페이지의 불완전한 분할을 청소할 때 불충분 한 잠금 수정 (Fei Changhong, Heikki Linnakangas)§
코드는 버퍼의 독점 잠금이 아닌 공유로이를 수행하려고 시도했습니다. 두 프로세스가 정리를 동시에 시도하면 인덱스 손상으로 이어질 수 토토 꽁 머니.
GIN 인덱스 삽입에서 버퍼 핀의 조기 해제를 피하십시오 (Tom Lane)§
인덱스 루트 페이지 분할이 우리 자신의 삽입과 동시에 발생하면 코드가 실패 할 수 토토 꽁 머니“버퍼 NNNN은 자원 소유자가 소유하지 않습니다”.
분할 된 SP-Gist 인덱스 (Tom Lane)의 실패를 피하십시오§
이런 종류의 색인을 사용하려고 시도하면“그러한 파일 또는 디렉토리 없음”오류.
큰 오브젝트에 대한 소유권 변경보고 수정 (Tom Lane)§
a-op대형 오브젝트 소유자 변경
명령 (즉, 기존 소유자를 선택하는 사람)은 잘못된 클래스 ID를 전달했습니다.Postalterhook
대기 서버가 서브 트랜잭션 (FEI Changhong) 중에 죽은 색인 튜플을 잘못 처리하는 것을 방지합니다§
theStartInRecovery
플래그는 하위 트랜잭션을 위해 올바르게 설정되지 않았습니다. 이것은 죽은 색인 튜플의 처리에만 영향을 미칩니다.
논리적 복제 간의 교착 상태 수정 작업자, 테이블 동기 작업자 및 구독을 변경하려는 세션 프로세스 (Shlok Kyal)§
교착 상태 루프의 한쪽 가장자리에는 잠금 대기가 포함되지 않았으므로 교착 상태는 감지되지 않았으며 수동 개입까지 지속됩니다.
논리 디코딩 중에 잘못된 스냅 샷으로 시스템 카탈로그 검사 방지 (FEI Changhong)§
디코딩이 시스템 카탈로그를 수정하는 트랜잭션을 통해 파트 웨이를 시작하면 디코더는 그 트랜잭션을 카탈로그 조회에 대한 진행중인 것으로 취급하지 못하게 할 수 토토 꽁 머니. 이 수정 사항은 최상위 거래가 이미 카탈로그 변경을 포함하는 것으로 표시되지만 하위 트랜잭션은 아닙니다..
새 클라이언트가 서버의 암호 도전에 응답하지 않고 연결을 끊을 때 올바른 상태 코드를 반환합니다 (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 연결을 수락 할 수 없음 : 성공”.
외국 데이터 포장지의 경우 파일 디스크립터 누출 수정Forexasyncrequest
함수 실패 (Heikki Linnakangas)§
보고서enomem파일 관련 시스템의 오류errcode_out_of_memory
, 아님errcode_internal_error
(Alexander Kuzmenkov)§
inpl/pgsql, 지원함수 만들기
/절차 만들기
SQL 표준 바디 (Tom Lane)§
이전에, 이러한 경우는 기능 본문에 세미콜론 (들)이 나타나기 때문에 구문 분석 오류로 실패했습니다.
고정libpq의 파이프 라인의 오류 처리 (Álvaro Herrera)§ §
쿼리 문제 이외의 이유로 오류가 반환되면 파이프 라인 상태가 동기화되지 않을 수 있습니다 (예 : 연결이 손실 된 경우). 잠재적으로 이것은 전화 응용 프로그램에서 바쁜 루프로 이어질 것입니다.
makelibpq'spqsendflushrequest ()
함수는 다른 규칙에 따라 클라이언트 출력 버퍼를 플러시합니다pqsend
함수 (Jelte Fennema-Nio)§
파이프 라인 모드에서는 여전히 호출해야 할 수도 토토 꽁 머니pqflush ()
; 그러나이 변화는 약간의 불일치를 제거합니다.
때 레이스 상태를 피하십시오libpqOpenSSL 지원 초기화 두 개의 다른 스레드 (Willi Mann, Michael Paquier)§
GSSAPI 데이터 전송 (Tom Lane)에서 타이밍 의존적 고장 수정§
비 블로킹 모드에서 GSSAPI 암호화를 사용할 때libpq때때로 실패“GSSAPI 발신자는 RETRING 필요한 모든 데이터를 재전송하지 못했습니다”.
inpg_dump, 확장 회원 객체에 대한 RLS 정책 또는 보안 레이블을 덤프하지 마십시오 (Tom Lane, Jacob Champion)§ §
이전에는 이러한 속성을 설정하기위한 덤프에 명령이 포함되어 있으며, 이는 확장 내부 문제로 간주되어야하므로 실제로 부정확합니다. 또한, 복원 사용자는이를 설정하는 데 적절한 권한이 없을 수 있으며, 실제로 덤핑 사용자는이를 덤프하기에 충분한 권한이 없을 수 있습니다 (RLS 정책을 덤프하기 때문에 테이블에 잠금을 획득해야하기 때문에)..
inpg_dump, 기본 테이블이 덤프되지 않으면 확장 통계 객체를 버리지 마십시오 (Rian McGuire, Tom Lane)§
이것은 인덱스와 같은 다른 종속 객체의 동작을 준수합니다.
A에 대한 오류로 만드십시오pgbench개방형 파이프 라인으로 끝나는 스크립트 (Anthonin Bonnefoy)§
이전,pgbencha이라도 이상하게 행동 할 것입니다.\ startPipeline
명령이 부족했습니다\ endpipeline
. 이것은 사건이 아니라 스크립팅 실수처럼 보입니다.pgbench멋지게 처리해야하므로 오류를 던지십시오.
충돌 수정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의 수정. 베트남, 토론토 및 미켈론의 역사적 수정.§