출시 날짜 :2019-05-09
이 롤 토토에는 11.2의 다양한 수정 사항이 포함되어 있습니다. Major Release 11의 새로운 기능에 대한 정보는 참조섹션 E.23.
11.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 11.1 이전 버전에서 업그레이드하는 경우 참조섹션 E.22.
선택성 추정기 (Dean Rasheed)를 통해로드 레벨 보안 정책이 우회하는 것을 방지합니다.
플래너의 선택성 추정기 중 일부는 롤 토토자 정의 연산자를 값에 적용합니다PG_STATISTIC
(예 : 대부분의 공통 값). 따라서 호출 롤 토토자가 해당 열을 읽을 수있는 권한이 부족하더라도 누출 연산자는 데이터 열의 일부 항목을 공개 할 수 있습니다.
파티션 라우팅 오류 보고서 (Michael Paquier) 중 이미 프리 메모리에 대한 액세스를 피하십시오
이 실수는 충돌로 이어질 수 있으며 원칙적으로 서버 메모리 내용을 공개하는 데 롤 토토할 수 있습니다. (CVE-2019-10129)
카탈로그 부패를 피하십시오.Alter Table
분할 된 테이블에서 파티션 된 인덱스가 재롤 토토 가능하다는 것을 알게됩니다 (Amit Langote, Tom Lane)
예를 들어과 같은 경우에 발생합니다.Alter Column Type
물리적 테이블 재 작성이 필요하지 않음을 찾습니다.
임시 테이블이있는 경우 카탈로그 손상을 피하십시오on Commit Drop
및 ID 열은 단일 진술 트랜잭션 (Peter Eisentraut)에서 생성됩니다.
이 위험은 사례가 실제로 유용하지 않기 때문에 간과되었습니다.
실패 수정Alter Index ... 첨부 파티션
파티션 된 테이블에 파티션보다 더 많은 삭제 열이 포함 된 경우 (Álvaro Herrera)
파티션의 기존 색인을 새로 만들어진 분할 된 인덱스에 첨부하지 않는 수정 (Amit Langote, Álvaro Herrera)
이것은와 같은 오류로 이어질 것입니다.“색인 ... 파티션에서 찾을 수 없음”분할 된 인덱스를 롤 토토하는 후속 DDL에서
분할 된 쿼리 결과 관계 (Amit Langote)에 대해 EPQ 재확인이 수행 될 때 충돌을 피하십시오
이것은 롤 토토할 때 발생합니다저지른 읽기
격리 레벨과 다른 세션은 대상 행 중 일부를 동시에 업데이트했습니다.
속성을 떨어 뜨린 다중 레벨 파티션 테이블에서 튜플 라우팅 수정 (Amit Langote, Michael Paquier)
고장 실패 수정 외국 키 제약 조건의 느린 경로 초기 검증이 분할 된 테이블에 적용되는 경우 (Hadi Moshayedi, Tom Lane, Andres Freund)
이것은 빠른 경로를 롤 토토할 수없는 드문 경우 (예 : 권한 문제)를 제외하고는 나타나지 않았습니다..
AN에 대한 동작 수정업데이트
또는삭제
모든 테이블을 제외 할 수있는 상속 트리 또는 분할 된 테이블에서 (Amit Langote, Tom Lane)
그러한 경우 쿼리는 a 일 때 올바른 출력 열 세트를보고하지 않았습니다.반환
조항이 있었고, 해고해야 할 진술 수준 트리거가 있다면 해고되지 않았습니다.
파티션에 직접 액세스 할 때제약 _exclusion
로 설정되었습니다on
, 파티션의 파티션 제약 조건을 롤 토토하십시오check
제외 확인을위한 제약 조건 (Amit Langote, Tom Lane)
이 변화는 동작이 v10에있는 것과 동작을 복원합니다.
트랜잭션 커밋 (Tom Lane)에서 커서 쿼리를 지속하려고하는 동안 오류가 발생하면 서버 충돌을 피하십시오
절차가 개방적이거나 암시적인 커서를 롤 토토하는 동안 절차를 시도하는 경우 (예 : PL/PGSQLfor
-loop query), 커서를 완료하도록 실행해야하며 거래 커밋 전에 결과를 저장해야합니다. 그러한 실행 중에 발생하는 오류로 인해 충돌이 발생했습니다.
a 일시 임시 테이블 및 미등성 테이블의 업데이트에 대한 잘못된 오류를 던지지 마십시오.모든 테이블
출판이 존재합니다 (Peter Eisentraut)
이러한 테이블은 출판 목적으로 무시해야하지만 코드의 일부는 그렇게하지 못했습니다.
명시 적 취급 수정기본값
an삽입 ... 값
다중 명령값
행, 대상 관계가 업데이트 가능한보기 인 경우 (Amit Langote, Dean Rasheed)
업데이트 가능한보기에 열에 대한 기본값이 없지만 기본 테이블이 하나, 단일 로우가있는 경우삽입 ... 값
기본 테이블의 기본값을 사용합니다. 그러나 멀티 로우 케이스에서는 Null이 항상 사용되었습니다.
수정보기 만들기
제로 컬럼 뷰를 허용하려면 (Ashutosh Sharma)
우리는 제로 열 테이블을 허용하는 것과 일관되게 허용해야합니다. 테이블을 뷰로 변환 할 수 있으므로 제한 사항을 제자리에 놓고 덤프/재 장전 장애로 이어지는 제로 열 뷰를 만들 수 있습니다.
누락 된 지원 추가존재하지 않으면 테이블 작성 ... execute ...
(Andreas Karlsson)
의 조합존재하지 않으면
andexecute
작동해야하지만 문법은 그것을 생략했습니다.
sub-select
s로드 레벨 보안 정책 표현식에 나타나는 올바른 사용자의 권한 (Dean Rasheed)으로 실행됩니다.
이전에, RLS 정책이있는 테이블에 액세스 한 경우, 그러한 수표는 뷰를 호출하는 사용자가 뷰 소유자가 아닌 뷰를 호출하는 것으로 실행될 수 있습니다..
XML 문서를 유효한 유형 값으로 수락XML
whenxmloption
로 설정되었습니다컨텐츠
, SQL : 2006 이상 (Chapman Flack)
이전롤 토토SQL : 2003 정의를 따랐으며,이를 허용하지 않습니다. 그러나 그것은 덤프/복원에 심각한 문제를 일으킨다 : 설정은 없다.xmloption
모든 유효한 XML 데이터를 수락합니다. 따라서 2006 년 정의로 전환하십시오.
pg_dump방출로 수정되었습니다set xmloption = content
데이터를 복원하는 동안 덤프/복원이 우세한 설정이 있어도 작동하는지 확인하십시오Document
.
기존의 공유 메모리 세그먼트가 아직 롤 토토 중인지 여부에 대한 서버의 시작 시간 검사 개선 (Noah Misch)
우체국 장은 이제이더라도 이전 우체국 장신 화신의 활성 프로세스가 여전히 있음을 감지 할 가능성이 더 높습니다.postmaster.pid
파일이 제거되었습니다.
Btree Index 진공 논리에서 가능한 부서별로 피하십시오 (Piotr Stefaniak, Alexander Korotkov)
이것은 인덱스 정리가 필요한지에 대한 잘못된 결정으로 이어질 수 있습니다.
평행 근로자의 거래를 별도의 거래로 계산하지 마십시오 (Haribabu Kommi)
Gin-Index Wal Records (Alexander Korotkov)의 비 호환성 수정
2 월의 사소한 릴리스에 적용된 수정은 뒤로 호환성에 대해 충분히주의를 기울이지 않았으며, 해당 빈티지의 대기 서버가 이전 마이너 릴리스의 기본 서버에 의해 생성 된 Gin Page-Deletion WAL 레코드를 읽는 경우 문제가 발생합니다.
실행 중에 가능한 충돌 수정show
복제 연결의 명령 (Michael Paquier)
한 번에 하나씩 포털에서 행을 가져올 때 서버 메모리 누출을 피하십시오 (Tom Lane)
파티션의 관계 캐시 항목이 재건 될 때 메모리 누출을 피하십시오 (Amit Langote, Tom Lane)
Tolerateeinval
andenosys
오류 결과, 적절한 경우fsync
andsync_file_range
전화 (Thomas Munro, James Sewell)
파일 동기화 실패에 대한 공황에 대한 이전 변경은 실패가 예측 가능하고 본질적으로 의미하는 특정 경우에 대해 과도하게 편집증 된 것으로 밝혀졌습니다“지원되지 않음”.
autovacuum 's의 올바른 관계 이름보고pg_stat_activity
브린 중에 디스플레이 요약 작업 (Álvaro Herrera)
GEQO가 활성화되었을 때 파티션 별 조인을 계획 할 때 충돌을 피하십시오 (Tom Lane)
수정“어떤 구축에 실패했습니다N
-웨이 조인”측면 참조가 이어지는 플래너 실패full
외부 조인 (Tom Lane)
정해진 함수가 비어있는 관계에 적용되는 쿼리의 잘못된 계획 (Tom Lane, Julien Rouhaud)
v10 에서이 감독은 약간 비효율적 인 계획을 가져 왔지만 v11에서는“세트를 수락 할 수없는 컨텍스트에서 호출 된 세트 값 함수”오류.
유출 된 운영자가 참조하도록 규칙을 시행 할 때 적절한 롤 토토자의 권한을 확인하십시오PG_STATISTIC
Data (Dean Rasheed)
뷰를 통해 기본 테이블에 액세스 할 때 쿼리를 만드는 롤 토토자의 권한이 아니라 유출 연산자가 테이블의 통계 데이터에 적용될 수 있는지 여부를 결정하면서 뷰 소유자의 권한을 고려하십시오. 이로 인해 불필요하게 가난한 계획을 피하면서 유언 집행자와 일치하는 데이터에 대한 플래너의 규칙을 만듭니다.
그룹화 된 쿼리에 대한 플래너의 평행 안전 평가 수정 (Etsuro Fujita)
이전에 병렬화 될 수있는 대상 목록 평가 작업이 아닐 수도 있습니다.
“포함”Planner의 고유 인디덱스 로직 (Tom Lane)의 색인 열
이것은 포함 된 열이 포함 된 고유 한 인덱스가 쿼리 결과의 독창성을 증명하여 계획이 좋지 않다는 것을 인식하지 못할 수 있습니다..
배열 강제 표현식에 대한 잘못된 엄격함 확인 (Tom Lane)
예를 들어 엄격한 SQL 함수의 잘못된 인라인이 허용되어 엄격한 조건의 강요를 초래할 수 있습니다.
평등 조건이 많고 잠재적으로 관련된 외국의 주요 제약 조건이 많을 때 계획 속도를 높이십시오 (David Rowley)
O (N^2) 많은 테이블을 생성하는 트랜잭션을 롤백 할 때 O (N^2) 성능 문제를 피하십시오 (Tomas Vondra)
동적 공유 메모리 할당에서 코너 케이스 서버 충돌 수정 (Thomas Munro, Robert Haas)
동적 공유 메모리 관리 (Thomas Munro)의 경쟁 조건 수정
이들은 이어질 수 있습니다“DSA_AREA는 세그먼트에 첨부 할 수 없습니다”또는“고정되지 않은 세그먼트를 풀 수 없습니다”오류.
Smart Shutdown 요청 (Tom Lane)을받은 후 뜨거운 스탠드비 마스터가 종료되지 않을 수있는 레이스 조건 수정
가능한 충돌 수정pg_identify_object_as_address ()
유효하지 않은 입력 (Álvaro Herrera)
가능한 수정“거래 상태에 액세스 할 수 없음”실패TXID_STATUS ()
(Thomas Munro)
혼합 OpenSSL 라이브러리 버전 (Michael Paquier, Peter Eisentraut)과 함께 SCRAM 인증을 사용할 때 인증 실패 수정
iflibpq서버가 OpenSSL 1.0.2 이상을 롤 토토하는 동안 OpenSSL 1.0.1 이상을 롤 토토하고 있습니다.“이 빌드에서 지원되지 않는 채널 바인딩”오류 메시지.
인코딩 된 SCRAM-SHA-256 및 MD5 암호 (Jonathan Katz)의 유효성 검증 강화 조임
올바른 초기 문자를 가진 비밀번호 문자열은 Scram-SHA-256 또는 MD5 형식으로 올바르게 해시되는 것으로 오해 될 수 있습니다. 암호는 허용되지만 나중에 사용할 수 없습니다.
수정LC_TIME
데이터베이스의 인코딩과 다른 인코딩을 암시하는 설정 (Juan José Santamaría Flecha, Tom Lane)
이전에 비 ASCII 문자가 포함 된 현지화 된 월 또는 일의 이름은 이전에 해당 지역에서 예기치 않은 오류 또는 잘못된 출력을 일으켰습니다.
생성current_logfiles
서버의 데이터 디렉토리 (Haribabu Kommi)의 다른 파일과 동일한 권한이있는 파일
이전에는에 지정된 권한을 사용했습니다log_file_mode
이지만 백업 유틸리티에 문제가 발생할 수 있습니다.
잘못된 수정Operator_Precedence_warning
단지 마이너스 연산자 (Rikard Falkeborn)와 관련된 점검
anallowNAN
부동 소수점 서버 매개 변수 (Tom Lane)
재 배열Reindex
개별 지수를 다시 알게 될 때 주장 실패를 피하기위한 처리pg_class
(Andres Freund, Tom Lane)
매개 변수화 된 더미 경로 (Tom Lane)에 대한 고정 플래너 어설 션 실패
결과에 올바른 테스트 기능 삽입SnapBuildinitialSnapShot ()
(Antonin Houska)
핵심 코드는 이것에 대해 관심이 없지만 일부 확장은 그렇습니다.
간헐적 인 수정“공유 메모리에 다시 할 수 없음”Windows (Noah Misch)의 세션 시작 실패
이전에 인식되지 않은 이러한 실패의 소스는 프로세스의 기본 스레드 풀을위한 스레드 스택 생성입니다. 이러한 스택을 다른 메모리 영역에 할당 할 수 있도록 준비합니다.
Windows의 디렉토리 스캔에서 오류 감지 수정 (Konstantin Knizhnik)
디렉토리를 읽을 권한 부족과 같은 오류는 올바르게 감지되거나보고되지 않았습니다. 대신 코드는 디렉토리가 비어있는 것처럼 조용히 작동했습니다.
문법 문제 수정ECPG(Tom Lane)
누락 된 세미콜론이의 오해로 이어졌습니다set
(하지만variable
= 기본값set
) inECPG프로그램, 서버가 거부 할 구문 적으로 유효하지 않은 출력을 생성합니다. 또한에서variable
기본값드롭 타입
또는드롭 도메인
여러 유형 이름을 나열한 명령, 첫 번째 유형 이름 만 실제로 처리되었습니다.
syncECPG의 구문테이블 작성
서버 (Daisuke Higuchi)
가능한 버퍼 오버런에서ECPG의 처리 filename (liu huailing, fei wu)의 처리
수정pg_rewind대상 데이터 디렉토리 (Michael Paquier)에서 일부 과도 파일을 제거하지 못한 실패
만들기pg_verify_checksums지적한 데이터 디렉토리가 오른쪽인지 확인하십시오롤 토토버전 (Michael Paquier)
충돌을 피하십시오Contrib/Postgres_FDW
원격 그룹화 또는 집계를 사용하는 쿼리에 A가있을 때select
-상관되지 않은 하위 선택, 외부 참조 또는 매개 변수 기호 (Tom Lane) 인 목록 항목.
변경Contrib/Postgres_FDW
라우팅 된 행을 삽입하기 위해 원격 파티션이 선택된 경우 오류를보고하려면업데이트
같은 명령 (Amit Langote, Etsuro Fujita)에서 나중에 업데이트 될 하위 플랜 대상
이전에, 그러한 상황으로 인해 서버 충돌 또는 잘못된 결과업데이트
. 그러한 사례가 올바르게 작동하도록 허용하는 것은 미래의 작업의 문제입니다.
incontrib/pg_prewarm
, 어떤 이유로 든 사전 무기가 실패하는 경우 (Mithun Cy)
충돌을 피하십시오Contrib/Vacuumlo
IF anlo_unlink ()
전화 실패 (Tom Lane)
19143_19222
이것은 작은 버그를 수정합니다ZIC그로 인해 2440 년의 잘못된 해를 출력하게되었습니다.아프리카/카사 블랑카
존, 지원 추가ZIC의 새로운-r
옵션.
시간대 데이터 파일 업데이트TZDATA팔레스타인과 Metlakatla의 DST 법률 변경에 대한 2019a 릴리스 및 이스라엘의 역사적 교정.
etc/uct
이제에 대한 후진 호환성 링크입니다.etc/utc
, 약어를 생성하는 별도의 영역 대신UCT
, 오늘날은 일반적으로 오타입니다.롤 토토여전히 수락 할 것입니다UCT
입력 영역 약어로서 출력하지는 않습니다.