출시 날짜 :2023-11-09
이 릴리스에는 15.4의 다양한 수정 사항이 포함되어 스포츠 토토 베트맨. 주요 릴리스 15의 새로운 기능에 대한 정보는 참조섹션 E.13.
덤프/복원은 15.x.를 실행하는 사람들에게는 필요하지 않습니다.
그러나, 특정 유형의 인덱스가 잘못된 검색 결과를 얻거나 불필요하게 비효율적 일 수있는 몇 가지 실수가 발견되었습니다. 권장됩니다.reindex
이 업데이트를 설치 한 후 잠재적으로 영향을받는 인덱스. 아래 네 번째부터 일곱 번째 Changelog 항목을 참조하십시오.
또한 15.4 이전 버전에서 업그레이드하는 경우 참조섹션 E.9.
알려지지 않은 유형의 인수 처리 수정별도의
"Any"
집계 함수 (Tom Lane)§
이 오류는 a로 이어졌습니다.텍스트
-유형 값알 수없는
7074_7196텍스트
value.
thePostgreSQL이 문제를보고 한 Jingzhou Fu 프로젝트. (CVE-2023-5868)
새로운 배열 치수를 계산하는 동안 정수 오버플로 감지 (Tom Lane)§
현재 배열 경계 외부에있는 배열 첨자에 새 요소를 할당 할 때, 감지되지 않은 정수 오버플로가 가장자리 케이스에서 발생할 수 스포츠 토토 베트맨. 임의의 코드 실행에 잠재적으로 악용 될 수있는 메모리 스톰프가 가능하며 서버 메모리의 공개도 가능합니다.
thePostgreSQL프로젝트이 문제를보고 한 Pedro Gallegos 감사합니다. (CVE-2023-5869)
방지pg_signal_backend
신호 배경 근로자 및 오토바 쿠움 프로세스의 역할 (Noah Misch, Jelte Fennema-Nio)§ §
문서에pg_signal_backend
슈퍼 서서 소유 프로세스에 신호를 발행 할 수 없습니다. 그러나 이러한 배경 프로세스는 0의 역할 OID를 광고하기 때문에 신호를 보낼 수있었습니다.
또한is_superuser
매개 변수는 이러한 프로세스에서 올바르게 설정됩니다. 그 감독에 대해 구체적인 보안 결과는 알려져 있지 않지만 일부 확장에는 중요 할 수 스포츠 토토 베트맨.
thePostgreSQL프로젝트 감사합니다 Hemanth Sandrana와 Mahendrakar Srinivasarao이 문제를보고했습니다. (CVE-2023-5870)
Gist Index Build (Heikki Linnakangas)의 재귀 페이지 분할 중 오작동 수정§
페이지 다운 링크의 위치가 잘못 추적 된 사례를 수정하고 잘못된 일을 조용히 수행하지 않고 그러한 상황에서 복구 할 수 있도록 일부 논리를 소개합니다. 이 오류로 인해 후속 인덱스 검색으로 인해 잘못된 답변이 발생할 수 스포츠 토토 베트맨.
btree 인덱스 항목의 복제 방지간격
열 (Noah Misch)§
간격
구별 할 수 있지만 동일하게 비교하는 값24 : 00 : 00
and1 일
. 이것은 btree de-duplication의 가정을 깨뜨립니다.간격
열은 제거에서 제외되어야합니다. 이 감독은 인덱스 전용 스캔으로 인해 잘못된 결과를 초래할 수 스포츠 토토 베트맨.Amcheck거의 모든 인덱스에 대한 오류를보고합니다. 사용자는 BTREE 색인을 다시 시작해야합니다.간격
열
프로세스날짜
브린에서 더 탁월한 값dateTime_minmax_multi_ops
Indexes (Tomas Vondra)§
날짜의 거리 계산은 거꾸로되었으므로 병합 할 항목에 대한 결정이 좋지 않습니다. 색인은 여전히 올바른 결과를 생성하지만 그보다 훨씬 덜 효율적입니다.minmax_multi
인덱스 ON날짜
열은 권장됩니다.
큰 프로세스타임 스탬프
andTimestamptz
브린에서 더 탁월한 값dateTime_minmax_multi_ops
Indexes (Tomas Vondra)§ §
무한대는 실수로 다른 값과는 거리가 멀지 않고 거리가 0이 아닌 거리가없는 것으로 취급되어 어떤 항목이 합병 할 것인지 결정을 내 렸습니다. 또한 유한하지만 매우 대단한 값 (대표적인 타임 스탬프 범위의 종점 근처)은 내부 오버플로를 초래할 수있어 다시 불량한 결정을 내릴 수 있습니다.minmax_multi
인덱스 ON타임 스탬프
andTimestamptz
열에 열에 무한 또는 큰 유한 값이 포함되어 있거나 포함 된 경우 열이 권장됩니다.
브린에서 계산 오버플로 계산을 피하십시오interval_minmax_multi_ops
극도의 간격 값이있는 인덱스 (Tomas vondra)§
이 버그는 그러한 인덱스에 큰 간격 값을 삽입하려고하면서 예기치 않은 실패를 일으킬 수 있습니다.
다중 파티션 키 (David Rowley)를 갖춘 해시 파티션 테이블에 대한 파티션 단계 생성 및 런타임 파티션 정리 수정§ §
일부 사례와 관련된 경우is null
파티션 키 중 하나의 조건은 충돌을 일으킬 수 스포츠 토토 베트맨.
동안 동시에 업데이트 된 행의 일관되지 않은 수정병합
(Dean Rasheed)§
inCommitted
모드, 대상 행이 동시 트랜잭션으로 업데이트되었음을 발견 한 업데이트는 쿼리의 재확인입니다.어디
업데이트 된 행의 조건.병합
이 재확인 중에 다른 결합 된 테이블의 적절한 행이 사용되었는지 확인하지 못했기 때문에 새로 업데이트 된 행이 다시 업데이트되어야하는지에 대한 잘못된 결정이 발생할 수 스포츠 토토 베트맨.병합
.
상속 된 대상 테이블을 정확하게 식별업데이트
/삭제
/병합
부모 테이블이 제약 조건으로 제외 되더라도 (Amit Langote, Tom Lane)§
초기에 명명 된 표가 제약으로 제외되지만 모든 상속 자손이 아닌 경우, 최초의 비 배정 된 후손은 기본 목표 테이블로 식별되었습니다. 이로 인해 초기에 명명 된 테이블이 아닌 해당 테이블과 관련된 발사 명세서 수준 트리거가 발생합니다.“rte in rte in rte in allid perminfoindex 0”오류.
Scalararrayopexpr Clauses (Peter Geoghegan)의 Btree Mark/복원 처리에서 가장자리 케이스를 고정합니다.§
indexscan을 이전에 표시된 위치로 복원 할 때, 스캔이 ScalarArrayopexpr의 일치 끝까지 정확하게 발전 한 경우 코드는 필요한 설정 단계를 놓칠 수 있습니다 (즉,indexcol = any (array [])
) 조항. 이로 인해 가져와야 할 일부 행이 누락 될 수 스포츠 토토 베트맨.
Memoize Execution에서 쿼리 내 메모리 누출 수정 (Orlov Aleksej, David Rowley)§
설정 회전 함수가 0 행 (Tom Lane)을 반복적으로 반환 할 때 쿼리 내 메모리 누출 수정§
충돌하지 마십시오cursor_to_xmlschema ()
비 데이터 리턴 포털 (Boyu Yang)에 적용됩니다.§
의도 한 오류를 던져pgrowlocks ()
파티션 된 테이블 (David Rowley)에 적용됩니다§
이전에, 포인트가 아닌 불만“힙 만 지원됩니다”제기 될 것입니다.
다양한 SQL 기능 (Noah Misch)에서 유효하지 않은 인덱스를보다 깨끗하게 처리합니다.§
if 오류보고pgstatIndex ()
, pgstatginindex ()
, pgstathashIndex ()
또는pgstattuple ()
유효하지 않은 인덱스에 적용됩니다. 만약에brin_desummarize_range ()
, brin_summarize_new_values ()
, brin_summarize_range ()
또는gin_clean_pending_list ()
유효하지 않은 인덱스에 적용되며 디버그 레벨 메시지를보고하는 것 외에는 아무것도하지 않습니다. 이전에 이러한 기능은 지수를 처리하려고 시도했으며 실패한 것에 따라 이상한 방식으로 실패 할 수 있습니다색인 생성
뒤에 남겨졌습니다.
수정pg_stat_reset_single_table_counters ()
공유 카탈로그 (Masahiro Ikeda)에 대한 올바른 일을하려면§
이전에 재설정은 효과가 없을 것입니다.
긴 입력으로 조기 메모리 할당 실패를 피하십시오to_tsvector ()
(Tom Lane)§
건설 된 자체의 과도 할당 수정TSVECTOR
intsvectorrecv ()
(Denis Erokhin)§
들어오는 벡터에 위치 데이터가 포함되면, 완성 된 이진 수신 함수 낭비 공간 (완성 된 위치 데이터의 크기와 거의 동일)TSVECTOR
. 극단적 인 경우 이것은로 이어질 수 스포츠 토토 베트맨.“최대 총 Lexeme 길이 초과”방출시 길이 한계 아래에있는 벡터의 실패. 어쨌든 그것은 공간에서 낭비되는 공간으로 이어질 수 스포츠 토토 베트맨.
잘못된 코딩 수정gtsvector_picksplit ()
(Alexander Lakhin)§
이것은 GIST 인덱스에서 페이지 분할 결정이 좋지 않을 수 스포츠 토토 베트맨TSVECTOR
열
손상된 PGLZ 압축 데이터 (Flavien Guedez)에 대한 점검 개선§
in복사
, 지원되지 않는 인코딩 변환이 필요할 때 깨끗하게 실패합니다 (Tom Lane)§
최근 Refactoring이 실수로 의도 된 오류 확인을 제거하여 끝났습니다.“캐시 조회 기능에 실패 0”유용한 오류 메시지 대신
충돌을 피하십시오설명
설명
NULL 부팅 시간 값이 있습니다 (Xing Guo, Aleksander Alekseev, Tom Lane)§
내장 매개 변수는이 설명에 적합하지만 확장자는 그러한 매개 변수를 정의 할 수 있습니다.
떨어지는 동안 스냅 샷이 있는지 확인on Commit Drop
Temp Tables (Tom Lane)§
이것은 임시 테이블의 카탈로그 항목에 토스트가 필요할 정도로 넓은 필드를 가지고 있다면 (예 : 매우 복잡한).check
조건).
방금 포장 된 아동 프로세스에서 셧다운 신호에 대한 부적절한 응답을 피하십시오System ()
(Nathan Bossart)§
이 수정 사항은 아동 과정이 포기한 인종 조건을 피합니다.System ()
그러나 아직 의도 된 아동 프로그램을 실행하지는 않았지만 부모 서버 프로세스를위한 신호를 받고 행동 할 수 있습니다. 그것은 중복 청소 작업이 수행되는 것으로 이어질 것입니다.
찢어진 읽기에 대처PG_CONTROL
프론트 엔드 프로그램 (Thomas Munro)§
일부 파일 시스템에서 읽기PG_CONTROL
서버가 동시에 해당 파일을 작성할 때 원자 조치가 아닐 수도 스포츠 토토 베트맨. 이것은 나쁜 CRC를 통해 감지 할 수 스포츠 토토 베트맨.
찢어진 읽기를 피하십시오PG_CONTROL
관련 SQL 기능 (Thomas Munro)§
읽기 전에 적절한 잠금을 획득PG_CONTROL
, 해당 파일의 일관된보기를 얻기 위해.
백엔드 활동 크기를 계산할 때 정수 오버플로를 피하십시오. 스트링 어레이 (Jakub Wartak)§
64 비트 머신에서 값을 허용합니다.track_activity_query_size
허용 된 연결 수를 곱하면 32 비트 오버플로를 유발할만큼 충분히 큽니다. 실제로 백 커드당 로컬 어레이를 할당하는 코드는 이것에 대해 부주의하고 배열을 잘못 할당했습니다.
|분석
상속 테이블 (Heikki Linnakangas)§
블록 레벨 카운터는 현재 관계 필드를 업데이트 할 때 동시에 0으로 재설정해야합니다.
배경 작성자를 수정하여 WAL을보고하여 통계 카운터 (Nazir Bilal Yavuz)§
강제 플러시 행동에 대한 혼란 수정pgstat_report_wal ()
(Ryoga Yoshida, Michael Paquier)§
이로 인해 셧다운에서 Wal I/O가 잊혀진 통계가 발생할 수 스포츠 토토 베트맨.
캐시의 종속성 추적call
진술, 필요할 때 다시 계획 (Tom Lane)§
DDL 명령, 예를 들어 a에 인쇄 된 함수의 교체와 같은call
인수, a를 다시 계획해야 할 필요성을 창출 할 수 스포츠 토토 베트맨.call
PL/PGSQL에 의해 캐시되었습니다. 그것은 일어나지 않았으며, 오작동 또는와 같은 이상한 오류로 이어졌습니다.“캐시 조회 실패”.
OpenSSL Connection Setup (Sergey Shinderuk)에서 오류 후 Pfree-A-Null-Pointer 충돌을 피하십시오.§
검사 할 때 둥지 깊이를 올바르게 추적레코드
-유형의 외부 쿼리 레벨 (Richard Guo)§
이 감독은 주장 실패, 핵심 덤프 또는로 이어질 수 있습니다.“Bogus Varno”오류.
ScalarArrayOpexpr 계획 노드 (David Rowley)의 트랙 해시 기능 및 부정 기능 종속성§
대부분의 경우이 감독은 무해했습니다.이 기능은 노드의 원래 연산자가 남아있는 동안 사라질 가능성이 없기 때문입니다.
오류 처리 버그 수정레코드
타입 캐시 관리 (Thomas Munro)§
잘못된 지점에서 발생하는 메모리 외 오류는 무한 루프로 이어질 수없는 상태를 남길 수 스포츠 토토 베트맨.
오류 후 같은 세션에서 논리적 디코딩이 재조정 될 때 어설 션 실패 수정 (hou zhijie)§
Wal (Michael Paquier)을 읽는 동안 메모리 외 실패를 치명적으로 취급합니다§
이전에는 가짜 데이터 조건으로 취급되어 WAL의 종말에 도달했다는 결론으로 이어질 것입니다.
가짜 WAL 레코드 길이 필드 (Thomas Munro, Michael Paquier)를 기반으로 메모리를 할당하려는 시도로 인한 복구 실패 수정§ §
Autovacuum 런처가 갇히게 될 수있는 데이터베이스 삭제에서 레이스 조건을 수정합니다 (Andres Freund, Will Mortensen, Jacob Speidel)§
레이스는 남아있는 제거 된 데이터베이스에 대한 통계 항목으로 이어질 수 있으며, 런처의 선택을 처리 할 데이터베이스 선택을 혼동 할 수 스포츠 토토 베트맨..
논리 테이프 관리 (Ranier Vilela)의 데이터 유형 크기 혼동 수정§
Integer Overflow는 int보다 넓은 플랫폼에서 가능했지만 문제를 일으키기 위해 다중 테라 바이트 임시 파일이 필요합니다.
의도하지 않은 Syslogger 프로세스의 Stdin (Heikki Linnakangas)의 닫기를 피하십시오§
계획 캐시 수행을 피하십시오. 구문 분석 중 흥미로운 처리를받지 못하는 유틸리티 진술의 재평가 (Tom Lane)§
몇 사이클을 저장하는 것 외에도, 이렇게하면 스냅 샷을 설정하지 말아야 할 문에 대한 캐시 무효화 후.트랜잭션 격리 수준 설정
.
참조 유지attmissingval
그들이 사용하는 동안 오래 지속되는 맥락에서의 가치 (Andrew Dunstan)§
이것은 튜플 슬롯이 값이 구성된 튜플 디스크립터를 원조 할 때 매달려있는 포인터의 사용을 피합니다.
유효 값을 다시 계산하십시오search_path
이후ALTER 역할
(Jeff Davis)§ §
이것은 역할을 바꾸고 나면 특별한 문자열의 의미를 보장합니다$ user
다시 결정됩니다.
수정“핸들을 복제 할 수 없음”Windows에서 발생하는 오류min_dynamic_shared_memory
|§
운영 순서 수정genericxlogfinish
(Jeff Davis)§
이 코드는 변경된 버퍼를 표시하기 전에 WAL을 작성하여 충돌 안전에 필요한 조건을 위반했습니다. 핵심 코드는이 기능을 사용하지 않지만 확장자는 다음과 같습니다 (Contrib/Bloom
예를 들어).
PL/Python 예외 처리 (Alexander Lakhin)에서 잘못된 주장 제거§
어설 션 실패 수정pg_dump덤프를 요청한 시점PG_CATALOG
스키마 (Peter Eisentraut)§ §
수정PG_RESTORE선택적 복원이 선택된 테이블 (Euler Taveira, Tom Lane)에 대한 테이블 레벨 및 열 레벨 ACL을 모두 포함하도록합니다.§
이전에는 두 유형이 모두 있으면 테이블 레벨 ACL 만 복원됩니다.
논리 추가pg_upgrade사용 확인Abstime
, Reltime
및TinterVal
데이터 유형 (Álvaro Herrera)§ §
이러한 쓸모없는 데이터 유형이 제거되었습니다PostgreSQL버전 12, 따라서 업그레이드 될 수 있다고 주장하기 전에 이전 데이터베이스에 존재하지 않는지 확인하십시오.
유효하지 않은 임시 슬롯 이름을 생성하지 마십시오PG_BASEBACKUP(Jelte Fennema)§
이것은 서버 연결이 실행될 때만 발생하는 것으로 나타났습니다pgbouncer.
거짓을 피하십시오“너무 많은 클라이언트 연결”오류pgbenchWindows (Noah Misch)§
inContrib/Amcheck
, 중단 된 페이지 삭제를 부패로보고하지 마십시오 (Noah Misch)§
이 수정은의 거짓 양성 보고서를 방지합니다.“가장 왼쪽 대상 페이지의 첫 번째 자녀는 레벨의 가장 남은 것이 아닙니다”, “Block Nnnn이 가장 남지 않았습니다”또는“index XXXX의 왼쪽 링크/오른쪽 링크 쌍”. 그들은 나타났습니다Amcheck미완성 된 BTREE 인덱스 페이지 삭제 및 이전 이후에 실행되었습니다.진공
물건을 청소했습니다.
고장 실패contrib/btree_gin
인덱스 ON간격
컬럼, indexscan을 사용하는 경우<
또는<=
운영자가 수행됩니다 (Dean Rasheed)§
그러한 인덱스 스캔은 모든 항목을 반환하지 못했습니다.
최근에 대한 모듬 된 빌드 타임 경고 억제MacOS(Tom Lane)§ §
Xcode 15(Macos Sonoma) 구축 중에 많은 중복-서식 경고를 일으키는 방식으로 링커의 동작을 변경했습니다PostgreSQL. 이것들은 무해했지만 성가 시므로 같은 라이브러리를 두 번 인용하지 마십시오.-multiply_defined suppress
링커 스위치는 오랫동안 No-OP였으며 현재는 적극적으로 불만을 제기했습니다.
빌딩시Contrib/Unaccent
의 규칙 파일, 사용으로 돌아 가기Python
if-with-python
제공되지 않았고 변수를 만들지 않았습니다Python
설정되지 않았다 (Japin Li)§
제거Phot
(피닉스 아일랜드 시간) 기본 타임 존 약어 목록 (Tom Lane)§
기본 목록 에이 약어가 있으면 더 이상 기본적으로 기본 TZDB 항목을 기본적으로 설치하지 않기 때문에 최근 Debian 및 Ubuntu 릴리스에서 실패 할 수 스포츠 토토 베트맨. 이것은 총 인구가 약 24 명인 구역의 약어이기 때문에 누구나 그것을 놓치지 않을 것 같습니다.