출시 날짜 :2021-05-13
이 롤 토토에는 11.11의 다양한 수정 사항이 포함되어 있습니다. Major Release 11의 새로운 기능에 대한 정보는 참조섹션 E.23.
11.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 11.11 이전 롤 토토에서 업그레이드하는 경우 참조섹션 E.12.
배열 첨자 계산에서 정수 오버플로 방지 (Tom Lane)
배열 코드는 배열의 하한 + 길이가 정수를 넘치는 경우에 대해서는 불평하지 않았습니다. 이로 인해 배열의 이후 항목이 액세스 할 수 없게되었지만 (구독은 정수로 작성할 수 없기 때문에), 더 중요한 것은 후속 할당 작업을 혼란스럽게하는 것입니다.
“정크”열에서 열삽입 ... 충돌에 ... 업데이트
대상 목록 (Tom Lane)
IF업데이트
목록에는 다중 열 하위 선택이 포함되어 있습니다 (결과 외에 정크 열을 제공하는),업데이트
경로는 여분의 정크 열의 값을 포함하는 튜플을 저장하게됩니다. 단기적으로는 상당히 무해하지만, 새 열이 테이블에 추가되면 값이 액세스 할 수있게되면 추가 된 열의 데이터 타입과 일치하지 않으면 오작동이 발생할 수 있습니다..
또한 교차 파티션 업데이트를 지원하는 롤 토토에서 이러한 경우에 의해 트리거 된 교차 파티션 업데이트는 역 문제가 발생했습니다. 정크 열은 대상 목록에서 제거되어 일반적으로 다중 연속 하위 선택 메커니즘의 오작동으로 인해 즉시 충돌이 발생했습니다. (CVE-2021-32028)
가능성을 고정 할 수 있습니다.업데이트 ... 반환
교차 파티션 업데이트에 대한 출력 (Amit Langote, Etsuro Fujita)
IF an업데이트
파티션 된 테이블의 경우 물리적으로 다른 행 유형 (예 : 다른 삭제 열 세트가있는 하나), 계산의 계산으로 행을 다른 파티션으로 이동 시켰습니다.반환
해당 행의 결과는 오류 또는 잘못된 답변을 생성 할 수 있습니다. 이 아니라면 오류가 관찰되지 않습니다.업데이트
다른 테이블이 대상 테이블에 연결되는 것을 포함합니다. (CVE-2021-32029)
분할 된 테이블에서 제약 조건 지연성 특성 조정 수정 (Álvaro Herrera)
분할 된 테이블의 외국 키 제약 조건에 적용될 때ALTER 테이블 ... ALTER SURPLEATIANT
조정에 실패연기 가능
및/또는처음에 연기
잎 파티션의 제약 및 트리거 표시. 이로 인해 그러한 제약이 예상치 못한 행동으로 이어졌습니다.Alter
원하는 속성을 설정하도록 명령.
이 변경 사항도 그러한 적용을 적용 할 수 있습니다Alter
잎 파티션의 제약 조건에 직접. 유일하게 지원되는 사례는 전체 분할 계층이 동일한 제약 속성을 갖는 것입니다.Alter
s는 파티션 루트에 적용해야합니다.
신원 열을 무효가되는 것으로 표시하는 금지 (Vik Fearing)
생성 ... 신원으로
암시NOT NULL
이므로 명시 적으로 결합하도록 허용하지 마십시오null
사양.
허용ALTER 역할/데이터베이스 ... SET
설정하려면역할
, Session_Authorization
및temp_buffers
매개 변수 (Tom Lane)
이전에, 과도한 유효성 검사는 나중에 사용될 때 값이 작동하더라도 이러한 명령을 거부 할 수 있습니다. 이로 인해 덤프/재 장전 및 업그레이드 시나리오에 대한 명령 주문 위험이 생성되었습니다.
A의 결과를 강요하여 버그 수정Collate
충돌 할 수없는 유형 (Tom Lane)에 대한 표현
이것은 구문 분석 나무로 이어졌습니다.Collate
는 충돌 할 수없는 값에 적용되는 것으로 보입니다. 그것은 일반적으로 실제 영향을 미치지 않지만 (이후Collate
런타임에 영향을 미치지 않음), 덤프/reload. 동안 거부 될 뷰를 구축 할 수있었습니다.
통화 창 함수 및 절차를 통한 허용“빠른 경로”와이어 프로토콜 메시지 (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
?
확장 통계를 사용하여 그룹 수를 추정 할 때 시스템 열을 무시하지 마십시오 (Tomas Vondra)
이로 인해 쿼리에 대한 이상한 추정치가 발생했습니다.선택 ... A, B, CTID의 그룹
.
매우 긴 고정 접두사 (Tom Lane)로 정규 표현식의 선택성을 추정 할 때 제로별로 나누지 마십시오.
이것은 일반적으로 A로 이어졌습니다.NAN
선택성 값, 어설 션 실패 또는 이상한 플래너 동작을 유발합니다.
브린 색인 비트 맵 스캔에서 액세스 오프-테이블 오류 수정 (Tomas Vondra)
Brin Index에서 사용하는 페이지 범위 크기가 2의 전원이 아닌 경우, 비트 맵 스캔이 테이블의 실제 끝을지나 페이지를 가져 오려고 시도 할 수있는 코너 케이스가있었습니다.“파일을 열 수 없음”오류.
WAL에서 커밋되지 않은 2 상 거래를 복구하는 동안 잘못된 타임 라인 변경을 피하십시오 (Soumyadeep Chakraborty, Jimmy Yih, Kevin Yeap)
이 오류는 이후의 WAL 레코드가 잘못된 타임 라인 ID로 작성되어 일관성 문제로 이어지거나 나중에 서버를 다시 시작할 수없는 완전한 실패로 이어질 수 있습니다..
대기 서버의 시작 프로세스를 종료하는 동안 잠금이 해제되는지 확인하십시오 (Fujii Masao)
회복 중에도 대기 서버가 종료되면 일부 잠금 장치가 유지 될 수 있습니다. 이로 인해 디버그 빌드에서 어설 션 실패가 발생합니다.
논리적 복제 작업자가 할 때 충돌 수정구독 변경
(Peter Smith)
핵심 코드는이 작업을 수행하지 않지만 복제 트리거는 할 수 있습니다.
기본값을 확인하십시오WAL_SYNC_METHOD
= fdatasync
최근 freebsd (Thomas Munro)
freebsd 13 지원Open_Datasync
, 일반적으로 기본 선택이됩니다. 그러나 이것이 실제로 우편 요금의 개선인지는 확실하지 않으므로 현재 기존 기본값을 보존하십시오.
DSM 세그먼트 (Thomas Munro)를 분리하는 동안 중단 될 때 청소를 마치십시오
이 오류는 병렬 쿼리 후에 즉시 임시 파일을 정리하지 않을 수 있습니다.
서버의 SSL 매개 변수를 초기화하는 동안 메모리 누출 수정 (Michael Paquier)
이것은 일반적으로 중요하지 않지만 우체국 장이 반복적으로 전송된다면Sighup신호, 시간이 지남에 따라 누출이 쌓일 수 있습니다.
서버에서 다양한 메모리 누출 수정 (Tom Lane, Andres Freund)
pl/pgsql시 실패 수정do
블록은 복합 유형 변수와 트랜잭션 제어를 모두 사용합니다 (Tom Lane)
이전에, 그러한 경우, 유출 된 튜플 디스크립터에 대한 오류가 발생했습니다.
무한 루프 방지libpq길이가 손상된 ParameterDescription 메시지가 수신 된 경우 (Tom Lane)
언제initdb12459_12533PG_CTLWindows에서 백 슬래시 분리기 사용 (Nitin Jadhav)
수정PSQL이전 동작을 복원하려면\ Connect Service =
(Tom Lane)뭔가
이전 버그 수정은 환경 변수를 일으켰습니다 (예 :pgport
)이 맥락에서 서비스 파일의 항목을 무시하려면. 우선 순위가 다른 방법 인 이전 행동을 복원합니다.
파일 수정 감지시 레이스 조건 수정PSQL's\ e
및 관련 명령 (Laurenz Albe)
매우 빠른 타이피스트는 임시 편집 파일이 변경되었는지 여부에 대한 코드의 파일 타임 스탬프 기반 탐지를 속일 수 있습니다.
누락 된 파일 롤 토토 확인PG_RESTORE(Tom Lane)
extable이 아닌 소스에서 사용자 정의 형식 아카이브를 읽을 때PG_RESTORE아카이브 롤 토토을 확인하는 것을 무시했습니다. 지원할 수있는 것보다 새로운 아카이브 롤 토토을 공급하면 나중에 지저분하게 실패 할 것입니다.
더 많은 수표 추가pg_upgrade업그레이드 할 수없는 데이터 유형을 포함하는 사용자 테이블 (Tom Lane)
업그레이드 할 수없는 데이터 유형이 컨테이너 유형 (예 : 배열 또는 범위)에 포함 된 일부 경우의 감지 수정. 또한 사용자 테이블이 시스템 정의 복합 유형의 열이 포함되어있을 때 업그레이드를 허용하지 않습니다. 이러한 유형의 OID는 롤 토토에서 안정적이지 않기 때문입니다.
수정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 테스트 수정