롤 토토 노트

롤 토토

E.20. 롤 토토 11.3

출시 날짜 :2019-05-09

이 롤 토토에는 11.2의 다양한 수정 사항이 포함되어 있습니다. Major Release 11의 새로운 기능에 대한 정보는 참조섹션 E.23.

E.20.1. 버전 11.3으로의 마이그레이션

11.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.

그러나 11.1 이전 버전에서 업그레이드하는 경우 참조섹션 E.22.

E.20.2. 변화

  • 선택성 추정기 (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-selects로드 레벨 보안 정책 표현식에 나타나는 올바른 사용자의 권한 (Dean Rasheed)으로 실행됩니다.

    이전에, RLS 정책이있는 테이블에 액세스 한 경우, 그러한 수표는 뷰를 호출하는 사용자가 뷰 소유자가 아닌 뷰를 호출하는 것으로 실행될 수 있습니다..

  • XML 문서를 유효한 유형 값으로 수락XMLwhenxmloption로 설정되었습니다컨텐츠, 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)

  • Tolerateeinvalandenosys오류 결과, 적절한 경우fsyncandsync_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_STATISTICData (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)

    누락 된 세미콜론이의 오해로 이어졌습니다setvariable= 기본값(하지만setvariable기본값) inECPG프로그램, 서버가 거부 할 구문 적으로 유효하지 않은 출력을 생성합니다. 또한에서드롭 타입또는드롭 도메인여러 유형 이름을 나열한 명령, 첫 번째 유형 이름 만 실제로 처리되었습니다.

  • 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/VacuumloIF anlo_unlink ()전화 실패 (Tom Lane)

  • 19143_19222

    이것은 작은 버그를 수정합니다ZIC그로 인해 2440 년의 잘못된 해를 출력하게되었습니다.아프리카/카사 블랑카존, 지원 추가ZIC의 새로운-r옵션.

  • 시간대 데이터 파일 업데이트TZDATA팔레스타인과 Metlakatla의 DST 법률 변경에 대한 2019a 릴리스 및 이스라엘의 역사적 교정.

    etc/uct이제에 대한 후진 호환성 링크입니다.etc/utc, 약어를 생성하는 별도의 영역 대신UCT, 오늘날은 일반적으로 오타입니다.롤 토토여전히 수락 할 것입니다UCT입력 영역 약어로서 출력하지는 않습니다.