이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

E.12. 무지개 토토 12.11

출시일: 2022-05-12

이 릴리스에는 12.10의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 12의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 PostgreSQL : 문서 : 12 : E.23. 릴리스 12.

E.12.1. 버전 12.11로 마이그레이션

12.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.

그러나 12.10 이전 버전에서 업그레이드하는 경우 다음을 참조하세요.배트맨 토토 PostgreSQL : 문서 : 12 : E.13. 릴리스 12.10.

E.12.2. 변경사항

  • 추가 작업을 다음으로 제한보안 제한 작업샌드박스(Sergey Shinderuk, Noah Misch)§ §

    자동 진공화,클러스터, 색인 생성, REINDEX, 구체화된 보기 새로고침pg_amcheck활성화한보안 제한 작업보호 메커니즘이 너무 늦거나 일부 코드 경로에서는 전혀 보호되지 않습니다. 데이터베이스 내에 임시가 아닌 객체를 생성할 수 있는 권한이 있는 사용자는 다음에 autovacuum이 객체를 처리하거나 일부 슈퍼유저가 영향을 받는 명령 중 하나를 실행할 때 슈퍼유저 권한으로 임의의 SQL 코드를 실행하는 객체를 정의할 수 있습니다.

    포스트그레SQL프로젝트는 이 문제를 보고한 Alexander Lakhin에게 감사드립니다. (CVE-2022-1552)

  • 일반 테이블을 참조하는 전체 행 변수의 열에 대한 쿼리 제공 열 별칭 사용 중지(Tom Lane)§

    전체 행 변수에 의해 생성된 튜플의 열 이름(예:tbl.*a의 최상위 레벨 이외의 컨텍스트무지개 토토선택목록)은 이제 항상 관련 명명된 복합 유형(있는 경우)의 항목입니다. 이전에는 해당 항목에 적용된 모든 열 별칭을 추적하도록 시도했습니다.발신변수가 참조하는 항목입니다. 그러나 이는 의미상 모호합니다. 왜냐하면 실제로 변수의 출력은 그것이 주장하는 복합 유형이 전혀 아니기 때문입니다. 이러한 불일치를 처리하려는 이전 시도는 읽을 수 없는 데이터를 디스크에 저장하는 것을 포함하여 나쁜 결과를 가져왔으므로 전체 아이디어를 포기하세요.

    이러한 열의 레이블을 다시 지정하는 것이 중요한 경우 해결 방법은 하위 수준을 추가로 도입하는 것입니다.SELECT, 전체 행 변수가 하위를 참조하도록선택'의 출력이며 일반 테이블이 아닙니다. 그런 다음 변수는 유형입니다.기록먼저 문제가 없습니다.

  • 유형에 대한 잘못된 출력 수정타임스탬프tz그리고timetzintable_to_xmlschema()및 관련 기능 (Renan Soares Lopes)§

    이러한 유형에 대한 xmlschema 출력에는 잘못된 정규 표현식이 포함되어 있습니다.

  • 다음에 대한 파서에서 코어 덤프 방지0개의 열이 있는 절(Tom Lane)§

  • 플래너 오류 수정그룹화()외부 쿼리 수준을 참조하는 구성(Richard Guo, Tom Lane)§

  • 반환 가능한 열과 반환 불가능한 열이 모두 포함된 인덱스에 대한 인덱스 전용 스캔에 대한 계획 생성 수정(Tom Lane)§

    이전 코딩에서는 반환 가능한 열 외에 반환 불가능한 열을 읽으려고 시도할 수 있었습니다. 이는 가짜 값으로 실제로 아무 작업도 수행하지 않았기 때문에 상당히 무해했지만, 그러한 계획을 거부하는 최근 추가된 오류 검사에 위배되었습니다.

  • EvalPlanQual 중에 오래된 튜플을 잠그려고 시도하는 동안 더 이상 고정되지 않은 공유 버퍼에 액세스하지 마십시오(Tom Lane)§

    코드는 핀을 놓은 후 버퍼를 몇 번 더 터치했습니다. 이론적으로 다른 프로세스는 핀이 사라지자마자 버퍼를 재활용할 수 있습니다(또는 여유 공간 조각 모음을 시도할 가능성이 높음). 그러면 아마도 최신 버전의 튜플을 찾지 못할 수 있습니다.

  • 재정렬을 수행하는 IndexScan 노드무지개 토토 쿼리 수명 메모리 누수 수정(Aliaksandr Kalenik)§

  • 수정함수 변경함수의 병렬 처리 속성 및 해당 변경을 지원하기 위해SET-동일 명령의 변수 목록(Tom Lane)§

    동일한 명령이 함수의 속성도 업데이트한 경우 병렬 처리 속성 변경이 손실되었습니다.SET절.

  • 테이블의 시스템 열을 변경하려는 시도로 인한 가짜 오류 수정(Tom Lane)§

    시스템은 당신이 그것을 할 수 없다고 말해야 하지만 때로는 보고할 수도 있습니다.소유된 시퀀스를 찾을 수 없습니다.대신.

  • 다음과 같은 경우 테이블 행의 잘못된 정렬 수정클러스터선행 키가 표현식인 인덱스를 사용 중(Peter Geoghegan, Thomas Munro)§

    테이블은 올바른 데이터로 다시 작성되지만 색인 순서와 거의 관련이 없는 순서입니다.

  • 분할된 인덱스 삭제 시 교착 상태 실패 위험 수정(Jimmy Yih, Gaurab Dey, Tom Lane)§

    필요한 테이블 및 인덱스 잠금이 표준 순서(하위 이전의 상위, 인덱스 이전의 테이블)로 수행되는지 확인하십시오. 이전 코딩은인덱스 삭제다르게 수행했기 때문에 표준 순서에 따라 이러한 잠금을 사용하는 동시 쿼리에 대한 교착 상태가 발생할 수 있습니다.

  • 사이의 경쟁 조건 수정드롭 테이블스페이스그리고 체크포인트(Nathan Bossart)§

    다음에 의해 강제된 체크포인트드롭 테이블스페이스때때로 테이블스페이스의 디렉토리무지개 토토 죽은 파일을 모두 제거하지 못해 가짜로 이어질 수 있음테이블스페이스가 비어 있지 않습니다.오류.

  • 다음 이후 충돌 복구에서 발생할 수 있는 문제 수정잘라내기체크포인트와 겹치는 명령(호리구치 쿄타로, 헤이키 린나칸가스, 로버트 하스)§ §

    잘라내기체크포인트가 완료되기 전에 테이블의 디스크 파일이 잘리는지 확인해야 합니다. 그렇지 않으면 해당 체크포인트무지개 토토 재생을 시작하면 제거된 것으로 추정되는 페이지무지개 토토 예기치 않은 데이터가 발견되어 재생 실패가 발생할 수 있습니다.

  • 임시 개체 정리 중 안전하지 않은 토스트 데이터 액세스 수정(Andres Freund)§

    서버 프로세스 종료 중 임시 개체 삭제가 실패할 수 있음치명적: 활성 스냅샷 없이는 토스트 데이터를 가져올 수 없습니다.. 다음에 해당 임시 스키마를 사용하면 성공적으로 정리되므로 일반적으로 무해합니다.

  • RegisterSyncRequest의 대기 로직 개선(Thomas Munro)§

    체크포인터 동기화 요청 대기열의 공간이 부족하면(실제 시스템무지개 토토는 드물기를 바라지만 매우 작은 버퍼 풀로 테스트할 때 일반적임) 공간이 소모될 때까지 기다립니다. 기다리는 동안 사용자가 무슨 일이 일어나고 있는지 알 수 있도록 대기 이벤트로 보고하고 포스트마스터 사망도 감시해야 합니다. 그렇지 않으면 체크포인터가 이미 종료된 경우 루프가 종료되지 않을 수 있기 때문입니다.

  • 수정패닉: xlog 플러시 요청이 충족되지 않음WAL 연속 레코드가 누락되어 대기 승격 중 실패(Sami Imseih)§

  • 상시 대기 충돌 처리 시 자체 교착 상태 가능성 수정(Andres Freund)§ § §

    불운한 타이밍으로 인해 다른 프로세스가 버퍼 잠금을 해제할 때까지 기다리는 동안 WAL 적용 프로세스가 중단될 수 있습니다.

  • 논리적 복제 적용 작업자가 문제에 봉착했을 때에도 다시 시작할 수 있는지 확인하십시오.max_sync_workers_per_subscription한도(아미트 카필라)§

    한도 확인의 잘못된 코딩으로 인해 다시 시작된 작업자가 즉시 종료되어 필요한 것보다 적은 수의 작업자가 남게 되었습니다.

  • 라인 외부에 저장된 경우 업데이트를 위해 WAL 로그에 변경되지 않은 복제본 ID 키 열을 포함합니다(Dilip Kumar, Amit Kapila)§

    그렇지 않으면 구독자는 값을 볼 수 없으며 업데이트 복제에 실패합니다.

  • 지원되지 않는 관계 종류에 대한 논리적 복제 구독자의 오류 메시지 개선(Tom Lane)§

    v13 이상 서버는 파티션을 나눈 테이블 게시를 지원합니다. 이전 서버 버전은 이러한 테이블 구독을 처리할 수 없으며 매우 오해의 소지가 있는 오류 메시지를 표시했습니다.게시자무지개 토토 테이블 XYZ를 찾을 수 없음. 보다 정확한 메시지를 전달할 준비를 하십시오.

  • PL/Perl 함수 컴파일 중 SPI 함수 실행 금지(Tom Lane)§

    Perl은 PL/Perl 함수를 컴파일하는 동안 사용자 정의 코드를 실행하도록 확신할 수 있습니다. 그러나 이러한 코드가 SPI를 통해 SQL 작업을 호출하는 것은 옳지 않습니다. 이로 인해 충돌이 발생하고 충돌이 발생하지 않으면 보안상 위험할 수 있습니다. 왜냐하면 우리는 함수 유효성 검사 중에 코드 실행을 정말로 원하지 않기 때문입니다. 대신에 더 친근한 오류 메시지를 표시하려면 체크 표시를 하세요.

  • 만들다libpq루트 소유 SSL 개인 키 파일 허용(David Steele)§ §

    이 변경 사항은 동기화됩니다.libpq19134_19364rw-r-----이하. 이는 키 파일을 시스템 전체무지개 토토 관리하는 데 도움이 됩니다.

  • 다음 동작 수정libpq'sPQisBusy()연결 실패 후 기능(Tom Lane)§

    쓰기 실패를 감지했다면,PQisBusy()항상 true를 반환하는데 이는 잘못된 것입니다. 우리는 서버에서 사용 가능한 모든 내용을 읽을 때까지 입력 처리가 정상적으로 계속되기를 원합니다. 이 오류의 실제 효과는 다음을 사용하는 애플리케이션이 다음과 같다는 것입니다.libpq의 비동기 쿼리 API는 일반적으로 다음 경우에만 연결 손실을 감지합니다.PQconsumeInput()하드 실패를 반환합니다. 이 수정 사항을 사용하면 일반적으로 연결 끊김이 오류를 통해 보고됩니다.PGresult객체는 대부분의 애플리케이션무지개 토토 훨씬 더 깔끔한 동작입니다.

  • 만들다pg_ctl중지/재시작/승격 작업을 기다리는 동안 포스트마스터의 활성 상태를 다시 확인하세요(Tom Lane)§

    pg_ctl중지 또는 승격 신호 전송의 부작용으로 포스트마스터가 살아 있는지 확인하지만 순진하게 디스크 상태 변경을 보기 위해 기다렸습니다. 포스트마스터가 PID 파일을 제거하거나 제어 파일을 업데이트하지 않고 부정하게 사망한 경우,pg_ctl시간 초과될 때까지 기다립니다. 대신 포스트마스터 프로세스가 아직 남아 있는지 자주 다시 확인하세요.

  • 오류 처리 수정pg_waldump(호리구치 쿄타로, 안드레스 프로인드)§ §

    WAL 세그먼트 크기를 결정하기 위해 WAL 파일을 읽으려고 시도하는 동안pg_waldump파일이 너무 짧은 경우 잘못된 오류를 보고합니다. 또한 이 메시지 및 관련 오류 메시지에 보고된 파일 이름은 가비지일 수 있습니다.

  • 다음을 확인하세요기여/페이지검사함수는 모두 0인 페이지에 대처합니다(Michael Paquier)§

    이것은 합법적인 극단적인 경우이지만 모듈은 대부분 이에 대한 준비가 되어 있지 않았습니다. 적절하게 null을 반환하거나 행을 반환하지 않도록 배열합니다. 오류를 발생시키는 것보다 더 유용한 것 같습니다.

  • 기여/페이지검사, 잘못된 페이지에 대한 방어 기능 추가특별한 공간내용, 올바른 페이지 크기에 대한 검사를 강화하고 인덱스가 예상된 유형인지 확인하는 일부 누락된 검사를 추가합니다(Michael Paquier, Justin Pryzby, Julien Rouhaud)§ § §

    이러한 변경으로 인해 잘못된 데이터로 인해 모듈이 충돌할 가능성이 줄어듭니다.

  • contrib/postgres_fdw, 확인하세요주문 기준절은 원격 주문 쿼리를 요청하기 전에 배송하는 것이 안전하며 다음을 포함합니다.사용 중필요한 경우 절(Ronan Dunklau)§

    이 수정은 원격 서버가 우리가 의도한 것과 다른 순서로 정렬할 수 있는 상황을 방지합니다. 때로는 겉보기에 불과할 수도 있지만 원격 데이터가 로컬에서 수행되는 병합 조인의 입력으로 사용되는 경우 완전히 잘못된 결과가 발생할 수 있습니다.

  • 업데이트JITLLVM 14와 함께 작동하는 코드(Thomas Munro)§

  • 아래의 여러 가지 실패를 정리삐걱거리는 소리's-fsanitize=정의되지 않음체크 (Tom Lane, Andres Freund, Zhihong Yu)§ § § § §

    이러한 변경 사항의 대부분은 단지 C 및 POSIX 표준 문자를 형식적으로 준수하기 위한 것이며 프로덕션 빌드에는 영향을 미치지 않을 것입니다.

  • 식 내에 중첩된 명령문을 지원하지 않는 C 컴파일러를 기반으로 구축되도록 PL/Perl을 수정했습니다(Tom Lane)§

  • 가능한 빌드 실패 수정pg_dumpallWindows에서 MSVC를 사용하여 빌드하지 않는 경우(Andres Freund)§

  • Windows 빌드에서는 다음을 사용젠데프대신에pexportsDEF 파일 빌드(Andrew Dunstan)§

    이것은 최신 MSys 도구 체인무지개 토토 작동하도록 빌드 프로세스를 조정합니다.

  • MinGW(Andrew Dunstan)에서 구축된 프로그램에서 쉘 와일드카드 패턴의 추가 확장을 방지§

    어떤 이유로 MinGW가 제공하는 C 라이브러리는 기본적으로 프로그램의 명령줄 인수에서 쉘 와일드카드 문자를 확장합니다. 특히 MSVC에서는 발생하지 않기 때문에 혼란스럽습니다. 따라서 끄십시오.

  • 다음으로 시간대 데이터 파일 업데이트tzdata팔레스타인의 DST 법률 변경 사항과 칠레 및 우크라이나의 역사적 수정 사항에 대한 2022a 릴리스입니다. (톰 레인)§