출시 날짜 :2022-05-12
이 롤 토토에는 10.20의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.
the롤 토토커뮤니티는 2022 년 11 월 10.x 릴리스 시리즈의 업데이트 출시를 중단합니다. 사용자는 곧 새로운 릴리스 지점으로 업데이트하는 것이 좋습니다.
10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 10.19 이전 버전에서 업그레이드하는 경우 참조섹션 E.5.
내에서 추가 작업을 제한“보안 제한 작업”샌드 박스 (Sergey Shinderuk, Noah Misch)
autovacuum,클러스터
, 색인 생성
, Reindex
, Refresh INSACERIZED VIEW
및PG_AMCHECK활성화“보안 제한 작업”보호 메커니즘이 너무 늦거나 일부 코드 경로에서는 전혀 그렇지 않습니다. 데이터베이스 내에서 비 임시 객체를 생성 할 수있는 권한이있는 사용자는 다음 번에 AutoVacuum이 객체를 처리했거나 일부 수퍼 사용자가 영향을받는 명령 중 하나를 실행 한 후 슈퍼 사용자 권한으로 임의의 SQL 코드를 실행하는 객체를 정의 할 수 있습니다.
the롤 토토이 문제를보고 한 Alexander Lakhin 프로젝트. (CVE-2022-1552)
일반 테이블 (Tom Lane)을 참조하는 전체 열 변수 열에 대한 쿼리로 제공 된 열 별칭 사용 중지
전체 열 변수에 의해 생성 된 튜플의 열 이름 (예 :TBL.*
A의 최상위 레벨 이외의 컨텍스트에서select
List)는 이제 항상 관련된 Composite 유형이있는 경우 항상 관련된 Composite 유형의 것입니다. 우리는 이전에 그들에게 적용된 열 별칭을 추적하려고 시도했습니다.From
변수가 참조합니다. 그러나 그것은 의미 적으로 모호합니다. 실제로 변수의 출력은 모든 복합 유형이 아니기 때문입니다.
그러한 열을 다시 부를 수있는 것이 중요한 경우, 해결 방법은 추가 수준의 하위를 도입하는 것입니다select
select
의 출력은 일반 테이블이 아닙니다. 그런 다음 변수는 유형입니다레코드
처음에는 문제가 없습니다.
유형에 대한 잘못된 출력 수정Timestamptz
andTimetz
intable_to_xmlschema ()
및 연합 기능 (Renan Soares Lopes)
이러한 유형의 XMLSCHEMA 출력에는 정규 표현이 포함되어 있습니다.
a 구문 분석기의 코어 덤프를 피하십시오값
0 열이있는 조항 (Tom Lane)
플래너 오류 수정Grouping ()
외부 쿼리 레벨을 참조하는 구성 (Richard Guo, Tom Lane)
리턴 가능 및 회전식 열 (Tom Lane)이있는 인덱스에서 인덱스 전용 스캔을위한 계획 생성 수정
이전 코딩은 리턴 가능한 열 외에도 회전 할 수없는 열을 읽을 수 있습니다. 이것은 실제로 가짜 값으로 아무것도하지 않았기 때문에 상당히 무해했지만, 그러한 계획을 거부 한 최근에 수용된 오류 검사를 파울했습니다..
재주문을 수행하는 indexscan 노드에서 쿼리 리시피 메모리 누출 수정 (aliaksandr kalenik)
수정기능
함수의 병렬 처리 속성 변경을 지원하려면set
-같은 명령의 변수 목록 (Tom Lane)
동일한 명령이 함수의 업데이트 된 경우 병렬 처리 속성 변경이 손실되었습니다set
절.
테이블 행을 잘못 정렬 할 때클러스터
주요 키가 표현 된 인덱스 사용 (Peter Geoghegan, Thomas Munro)
테이블은 올바른 데이터로 재건되지만 인덱스 순서와는 거의 관련이없는 순서로
사이에 레이스 조건 수정드롭 테이블 스페이스
및 체크 포인팅 (Nathan Bossart)
검사 점이드롭 테이블 스페이스
때때로 테이블 스페이스 디렉토리에서 모든 죽은 파일을 제거하여 가짜로 이어질 수 있습니다“테이블 스페이스가 비어 있지 않습니다”오류.
A 후 충돌 회복에서 가능한 문제 해결Truncate
검문소와 겹치는 명령 (Kyotaro Horiguchi, Heikki Linnakangas, Robert Haas)
Truncate
체크 포인트가 완료되기 전에 테이블의 디스크 파일이 잘립니다. 그렇지 않으면, 해당 체크 포인트에서 시작하여 재생되는 페이지에서 예상치 못한 데이터를 찾을 수 있으므로 재생 고장을 일으킬 수 있습니다.
임시 객체 청소 중에 안전하지 않은 토스트 데이터 액세스 수정 (Andres Freund)
서버 프로세스 중에 임시-객체 삭제가 실패 할 수 있습니다“Fatal : 활성 스냅 샷 없이는 토스트 데이터를 가져올 수 없습니다”. 임시 스키마를 다음으로 사용하면 성공적으로 정리할 수 있기 때문에 일반적으로 무해했습니다.
수정“panic : xlog 플러시 요청이 만족스럽지 않습니다”누락 된 WAL 연속 기록이있을 때 대기 프로모션 중 실패 (Sami Imseih)
뜨거운 대기 충돌 처리 (Andres Freund)에서 자체-가드 록 가능성 수정
운이 좋지 않은 타이밍으로 Wal-Applying 프로세스는 다른 프로세스를 버퍼 잠금 장치를 해제하기 위해 기다리는 동안 갇힐 수 있습니다..
논리적 복제 적용 근로자가 우리가 반대하는 경우에도 다시 시작할 수 있는지 확인하십시오max_sync_workers_per_subscription
Limit (Amit Kapila)
한도 검사의 결함 코딩으로 인해 다시 시작 된 작업자가 즉시 종료되어 근로자가 적어야합니다.
업데이트를 위해 WAL 로그에 변경되지 않은 복제 아이덴티티 키 열을 포함 시키십시오 (Dilip Kumar, Amit Kapila).
그렇지 않으면 가입자는 값을 볼 수 없으며 업데이트를 복제하지 못할 것입니다.
지원되지 않는 관계 종류 (Tom Lane)에 대한 논리 복제 가입자의 오류 메시지 향상
v13 이상 서버는 파티션 된 테이블 게시를 지원합니다. 이전 서버 버전은 그러한 테이블 구독을 처리 할 수 없으며 매우 오해의 소지가있는 오류 메시지를 제공했습니다.“표 XYZ 게시자에서 찾을 수 없음”. 더 온 포인트 메시지를 전달하도록 준비하십시오.
PL/PERL 기능 컴파일 중 SPI 기능 실행을 허용하지 않습니다 (Tom Lane)
PERL은 PL/PERL 기능을 컴파일하는 동안 사용자 정의 코드를 실행하도록 확신 할 수 있습니다. 그러나 그러한 코드가 SPI를 통해 SQL 작업을 호출하려고 시도하는 것은 좋지 않습니다.
makelibpq루트 소유 SSL 개인 키 파일 (David Steele) 수락
이 변경은 동기화libpq의 안전한 소유권 및 SSL 키 파일의 권한에 대한 규칙은 서버가 롤 토토 9.6 이후 사용한 규칙과 함께 사용합니다. 즉, 현재 규칙 외에도 키 파일이 루트가 소유하고 권한이있는 경우rw-r -----
이하. 이것은 주요 파일의 시스템 전체 관리에 도움이됩니다.
makePG_CTL정지/재시작/홍보 조치를 기다리는 동안 우체국 마스터 생존을 다시 확인하십시오 (Tom Lane)
PG_CTL우체국 장이 정지 또는 홍보 신호를 보내는 부작용으로 살아 있는지 확인하지만, 디스크 상태 변화를보기 위해 순진하게 기다렸다. Postmaster가 PID 파일을 제거하거나 제어 파일을 업데이트하지 않고 부정하게 사망 한 경우PG_CTL타임 아웃까지 기다릴 것입니다. 대신 포스트 마스터 프로세스가 여전히 존재하기 때문에 자주 재충전하게하십시오.
Contrib/PageInspect
함수 all-zero 페이지 (Michael Paquier)에 대처하는 기능
이것은 합법적 인 가장자리 사례이지만 모듈은 대부분 준비되지 않았습니다. 적절하게 널을 반환하거나 줄이 없도록 준비하십시오.
inContrib/PageInspect
, 잘못된 페이지에 대한 방어 추가“특별 공간”내용, 올바른 페이지 크기에 대한 검사를 조이고 인덱스가 예상 유형 인 경우 누락 된 점검을 추가합니다 (Michael Paquier, Justin Pryzby, Julien Rouhaud)
이러한 변경 사항은 모듈이 잘못된 데이터에 충돌 할 가능성이 적습니다.
inContrib/Postgres_FDW
, 확인주문 by
클로스는 원격으로 주문한 쿼리를 요청하기 전에 배송하기에 안전하며 A 포함사용
필요한 경우 조항 (Ronan Dunklau)
이 수정은 원격 서버가 의도 한 것과 다른 순서로 정렬 될 수있는 상황을 방지합니다. 때로는 화장품 일 뿐이지 만, 원격 데이터가 로컬로 성능이 좋은 병합 조인의 입력으로 사용되면 철저히 잘못된 결과를 얻을 수 있습니다..
아래에서 다양한 고장을 청소Clang's-fsanitize = undefined
확인 (Tom Lane, Andres Freund, Zhihong Yu)
이러한 변경 사항의 대부분은 C와 Posix 표준의 편지를 준수하기위한 것이며 생산 빌드에 영향을 미치지 않을 것입니다.
pl/perl을 수정하여 표현식 내에 중첩 된 문을 지원하지 않는 C 컴파일러를 구축하십시오 (Tom Lane)
가능한 빌드 실패 수정pg_dumpallWindows에서 MSVC를 사용하지 않을 때 (Andres Freund)
Windows 빌드에서 사용gendef대신PexportsDEF 파일을 작성하려면 (Andrew Dunstan)
이것은 최근 MSYS 도구 체인에서 작동하도록 빌드 프로세스를 조정합니다.
Mingw (Andrew Dunstan) 아래에 구축 된 프로그램에서 쉘 와일드 카드 패턴의 추가 확장 방지
어떤 이유로 Mingw가 제공 한 C 라이브러리는 기본적으로 프로그램의 명령 줄 인수에서 쉘 와일드 카드 문자를 확장합니다. MSVC에서는 발생하지 않기 때문에 혼란 스러워요.
시간대 데이터 파일 업데이트tzdata팔레스타인의 DST 법률 변경에 대한 롤 토토 2022A 및 칠레와 우크라이나의 역사적 교정.