출시 날짜 :2021-05-13
이 배트맨 토토에는 13.2의 다양한 수정 사항이 포함되어 있습니다. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.
13.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 13.2 이전 버전에서 업그레이드하는 경우 참조하십시오.섹션 E.19.
배열 첨자 계산 (Tom Lane)의 정수 오버플로 방지§
배열 코드는 배열의 하한 + 길이가 정수를 넘치는 경우에 대해 불평하지 않았습니다. 이로 인해 배열의 이후 항목이 액세스 할 수 없게되었지만 (구독은 정수로 작성할 수 없기 때문에), 더 중요한 것은 후속 할당 작업을 혼란스럽게하는 것입니다.
“정크”열배트맨 토토 열삽입 ... 충돌에 ... 업데이트
대상 목록 (Tom Lane)§
업데이트
목록에는 다중 열 하위 선택이 포함되어 있습니다 (결과 외에 정크 열을 제공하는),업데이트
경로는 여분의 정크 열의 값을 포함하는 튜플을 저장하게됩니다. 단기적으로는 상당히 무해하지만, 새 열이 테이블에 추가되면 값이 액세스 할 수있게되면 추가 된 열의 데이터 타입과 일치하지 않으면 오작동이 발생할 수 있습니다..
또한 교차 파티션 업데이트를 지원하는 버전에서 이러한 경우에 의해 트리거 된 교차 파티션 업데이트는 역 문제가 발생했습니다. 정크 열은 대상 목록에서 제거되어 일반적으로 다중 연속 하위 선택 메커니즘의 오작동으로 인해 즉시 충돌이 발생했습니다. (CVE-2021-32028)
가능성이 낮은 계산 수정업데이트 ... 반환
교차 파티션 업데이트에 대한 출력 (Amit Langote, Etsuro Fujita)§ §
IF an업데이트
파티션 된 테이블의 경우 물리적으로 다른 행 유형 (예 : 다른 삭제 열 세트가있는 하나), 계산의 계산과 함께 다른 파티션으로 행을 이동 시켰습니다.반환
해당 행의 결과는 오류 또는 잘못된 답변을 생성 할 수 있습니다. 이 아니라면 오류가 관찰되지 않습니다.업데이트
다른 테이블이 대상 테이블에 연결되는 것을 포함합니다. (CVE-2021-32029)
분할 된 테이블배트맨 토토 제약 조건 지연성 특성 조정 수정 (Álvaro Herrera)§
분할 된 테이블의 외국 키 제약 조건에 적용될 때ALTER 테이블 ... ALTER SURPLEATIANT
조정에 실패연기 가능
및/또는처음 연기
잎 파티션의 제약 및 트리거 표시. 이로 인해 그러한 제약이 예상치 못한 행동으로 이어졌습니다.Alter
원하는 속성을 설정하도록 명령.
이 변경 사항도 그러한 적용을 적용하는 데 해당됩니다Alter
잎 파티션의 제약 조건에 직접. 유일하게 지원되는 사례는 전체 분할 계층이 동일한 제약 속성을 갖는 것입니다.Alter
파티션 루트에 적용해야합니다.
|Alter Table ... 상속
, 부모의 생성 된 열은 아동 (Peter Eisentraut)배트맨 토토 같은 방식으로 생성 될 것을 주장합니다.§
신원 열을 무효가 될 수있는 것으로 표시하는 금지 (Vik Fearing)§
생성 ... 신원으로
암시NOT NULL
, 따라서 명시 적과 결합하도록 허용하지 마십시오null
사양.
허용ALTER 역할/데이터베이스 ... SET
설정하려면역할
, Session_Authorization
및temp_buffers
매개 변수 (Tom Lane)§
이전에, 과도한 유효성 검사는 나중에 사용될 때 값이 작동하더라도 이러한 명령을 거부 할 수 있습니다. 이로 인해 덤프/재 장전 및 업그레이드 시나리오에 대한 명령 주문 위험이 생성되었습니다.
수정커밋 및 체인
현재 트랜잭션에 Live SavePoints (Fujii Masao)가있을 때 올바르게 작동하려면§
List-Manipulation 버그 수정재귀
가공 (Michael Paquier, Tom Lane)§
충분히 깊은 둥지with
CROPORTS (적어도 7 레벨) 핵심 덤프를 유발하거나 잘못된 불만with
중첩.
a 강요로 버그 수정Collate
충돌 할 수없는 유형 (Tom Lane)에 대한 표현§
이것은 구문 분석 나무로 이어졌습니다.Collate
는 충돌 할 수없는 값에 적용되는 것으로 보입니다. 그것은 일반적으로 실제 영향을 미치지 않지만 (이후Collate
런타임에 영향을 미치지 않음), 덤프/reload. 동안 거부 될 뷰를 구성 할 수있었습니다.
튜플을 저장 할 때 사용하지 않는 버그 수정이후
Triggers (Amit Langote)§
어떤 상황배트맨 토토는 충돌이 발생할 수 있습니다.
전화 창 함수 및 절차를 허용하지 않음“빠른 경로”와이어 프로토콜 메시지 (Tom Lane)§
여기에서는 일반 함수 만 지원됩니다. 집계 함수를 호출하려고하는 동안 이미 실패하면 창 함수를 호출하는 것이 충돌하고 절차가 트랜잭션 제어가없는 경우에만 절차를 호출 할 수 있습니다.
Extendpg_identify_object_as_address ()
이벤트 트리거를 지원하려면 (Joel Jacobson)§ §
수정to_char ()
의 부정적인 간격 (Julien Rouhaud)을 가진 로마 수 달 형식 코드 처리§
이전에, 그러한 경우에는 일반적으로 충돌이 발생합니다.
의 주장을 확인하십시오pg_import_system_collations ()
유효한 스키마 OID (Tom Lane)입니다.§
구문 분석하는 동안 초기화되지 않은 값의 사용 수정\
BRE 모드 정규 표현식 (Tom Lane)의 정량 자§m
,n
\
이 오류는 정량자가 비 게리를 행동하게 할 수 있습니다.{
Quantifier는 정기적 인 표현식으로 할 것입니다.m
,n
?
수정“정렬 할 PathKey 항목을 찾을 수 없습니다”Planner 오류 정렬 키가 집계 또는 창 함수 (James Coleman, Tom Lane)와 관련된 일부 상황배트맨 토토는§
확장 통계 (Tomas Vondra)를 사용하여 그룹 수를 추정 할 때 시스템 열을 무시하지 마십시오.§
이것은 쿼리에 대한 이상한 추정치로 이어졌습니다선택 ... 그룹별 A, B, CTID
.
매우 긴 고정 접두사 (Tom Lane)로 정규 표현식의 선택성을 추정 할 때 제로별로 나누지 마십시오.§
이것은 일반적으로 A로 이어졌습니다.NAN
선택성 값, 주장 실패 또는 이상한 플래너 행동을 유발합니다.
브린 색인 비트 맵 스캔 (Tomas Vondra)의 액세스 오프-테이블 오류 수정§
Brin Index배트맨 토토 사용하는 페이지 범위 크기가 2의 전원이 아닌 경우, 비트 맵 스캔이 테이블의 실제 끝을지나 페이지를 가져 오려고 시도 할 수있는 코너 케이스가있었습니다.“파일을 열 수 없음”오류.
GIN에서 잠재적으로 잘못된 답변 수정TSVECTOR
인덱스 검색, 일치하는 튜플이 많을 때 (Tom Lane)§
인덱스 일치 수가 크게 커지면 비트 맵을 잡고있는 비트 맵을 잃어버린 경우 (에 의존하는 임계 값work_mem
), 코드는 재확인이 필요한지 여부에 대해 혼란스러워서 실제로 쿼리와 일치하지 않는 행을 반환 할 수 있습니다.
WALL 세그먼트 재활용과 관련된 동시성 문제 수정 (Michael Paquier)§
이것은 간헐적 인 변화를 되 찾습니다“파일 이름을 바꿀 수 없습니다 ... : 허가 거부”로그 메시지. 심각한 결과는 없었지만 로그 스팸은 성가 시었습니다.
WAL배트맨 토토 커밋되지 않은 2 상 트랜잭션을 복구하는 동안 잘못된 타임 라인 변경을 피하십시오 (Soumyadeep Chakraborty, Jimmy Yih, Kevin Yeap)§
이 오류는 오류가 잘못된 타임 라인 ID에 따라 후속 WAL 레코드를 작성하여 일관성 문제로 이어지거나 나중에 서버를 다시 시작할 수없는 완전한 실패로 이어질 수 있습니다..
대기 서버의 시작 프로세스 (Fujii Masao)를 종료하는 동안 잠금이 해제되는지 확인하십시오.§
회복 중에도 대기 서버가 종료되면 일부 잠금 장치가 유지 될 수 있습니다. 이로 인해 디버그 빌드배트맨 토토 어설 션 실패가 발생합니다.
논리적 복제 작업자가 할 때 충돌 수정구독 변경
(Peter Smith)§
핵심 코드는이 작업을 수행하지 않지만 복제 트리거는 할 수 있습니다.
기본값을 확인하십시오WAL_SYNC_METHOD
= fdatasync
최근 freebsd (Thomas Munro)§
freebsd 13 지원Open_Datasync
는 일반적으로 기본 선택이됩니다. 그러나 그것이 실제로 우편 요금의 개선인지는 확실하지 않으므로 현재 기존 기본값을 보존하십시오.
비활성화VACUUM_CLEANUP_INDEX_SCALE_FACTOR
매개 변수 및 스토리지 옵션 (Peter Geoghegan)§ §
추적 개념“Stale”색인 통계는와 심하게 상호 작용하는 것으로 판명되었습니다.autovacuum_vacuum_insert_threshold
매개 변수, 불필요한 전체 인덱스 스캔과 결과적으로 Autovacuum 성능의 저하가 발생합니다. 후자의 메커니즘은 우수한 것처럼 보이므로 오래된 상태로 된 논리를 제거하십시오.VACUUM_CLEANUP_INDEX_SCALE_FACTOR
는 v14배트맨 토토 완전히 제거됩니다. V13배트맨 토토는 기존 구성 파일을 깨지 않도록하는 것이 남아 있지만 더 이상 아무것도하지 않습니다.
올바른 트리거 OID를 전달 후 후크에 전달변경 제약
(Álvaro Herrera)§
중 트리거 속성을 업데이트 할 때변경 제약
, 포스트 알터 훅은 트리거를 업데이트하고 있다고 들었지만 제약 조건의 OID가 트리거 대신 전달되었습니다..
DSM 세그먼트 (Thomas Munro)를 분리하는 동안 중단 될 때 청소를 마치십시오§
이 오류는 병렬 쿼리 후에 즉시 임시 파일을 정리하지 않을 수 있습니다.
공유 메모리 (Fujii Masao)에서 Walreceiver의 통계에서 비 초기 변수 수정§
이 오류는 대부분의 플랫폼에서 무해했지만 원자 변수 및/또는 스핀 락 지원이없는 플랫폼에서 문제를 일으킬 수 있습니다.
DTRACE 지원이 컴파일되지만 활성화되지 않으면 (Peter Eisentraut) LWLOCK 작업에 대한 DTRACE 프로브의 오버 헤드 감소§ §
PL/PGSQL시 실패 수정do
블록은 복합 유형 변수와 트랜잭션 제어를 모두 사용합니다 (Tom Lane)§
이전에, 그러한 경우, 유출 된 튜플 디스크립터에 대한 오류가 발생했습니다.
무한 루프 방지libpq길이가 손상된 ParameterDescription 메시지가 수신 된 경우 (Tom Lane)§
언제initdb서버를 시작하는 방법에 대한 지침을 인쇄하고에 표시된 경로를 만드십시오.PG_CTLWindows에서 백 슬래시 분리기 사용 (Nitin Jadhav)§
수정PSQL이전 동작을 복원하려면\ Connect Service =
(Tom Lane)§뭔가
이전 버그 수정은 환경 변수를 일으켰습니다 (예 :pgport
)이 맥락에서 서비스 파일의 항목을 무시하려면. 우선 순위가 다른 방법 인 이전 행동을 복원합니다.
수정PSQL'son_error_rollback
처리 할 기능커밋 및 체인
올바르게 명령 (Arthur nascimento)§
이전 에이 사건이 실패했습니다“SavePoint "PG_PSQL_TEMPORARY_SAVEPOINT"가 존재하지 않습니다”.
inPSQL, 반복 피하십시오“결과 테이블을 인쇄 할 수 없음”첫 번째 오류 후 실패 (Álvaro Herrera)§
파일 수정 감지시 레이스 조건 수정PSQL's\ e
및 관련 명령 (Laurenz Albe)§
매우 빠른 타이피스트는 임시 편집 파일이 변경되었는지 여부에 대한 코드의 파일-타임 스탬프 기반 감지를 속일 수 있습니다.
수정pg_dump의 파티션 테이블에 생성 된 열을 덤핑 (Peter Eisentraut)§
이전 마이너 릴리스에 도입 된 수정 사항은 분할 된 테이블에 적용해서는 안되며 전통적으로 상사 된 테이블 만.
누락 된 파일 버전 수정PG_RESTORE(Tom Lane)§
extable이 아닌 소스에서 사용자 정의 형식 아카이브를 읽을 때PG_RESTORE아카이브 버전을 확인하는 것을 무시했습니다. 지원할 수있는 것보다 새로운 아카이브 버전을 공급하면 나중에 지저분하게 실패 할 것입니다.
더 많은 수표 추가pg_upgrade업그레이드 할 수없는 데이터 유형을 포함하는 사용자 테이블 (Tom Lane)§
업그레이드 할 수없는 데이터 유형이 컨테이너 유형 (예 : 배열 또는 범위)에 포함 된 일부 경우의 감지 수정. 또한 사용자 테이블이 시스템 정의 복합 유형의 열이 포함되어있을 때 업그레이드를 허용하지 않습니다. 이러한 유형의 OID는 버전에서 안정적이지 않기 때문입니다.
잘못된 진행 보고서 계산 수정PG_CHECKSUMS(Shinya Kato)§
수정pg_waldump카운트xact
기록 당 통계를 생성 할 때 올바르게 기록 (Kyotaro Horiguchi)§
수정Contrib/Amcheck
튜플 플래그에 대해 불평하지 않음heap_xmax_lock_only
andheap_keys_updated
둘 다 설정 중 (Julien Rouhaud)§
이것은 유효한 상태입니다업데이트 선택
.
최근 Oracle Developer Studio Compiler 버전 (Noah Misch)을 지원하기위한 vpath 빌드 규칙 조정§
Solaris (Noah Misch)에서 Python 3에 대한 PL/Python 테스트 수정§