릴리스 토토 핫

토토 핫

E.13. 토토 핫 14.5

출시 날짜 :2022-08-11

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

E.13.1. 버전 14.5로의 마이그레이션

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

그러나 14.4 이전 버전에서 업그레이드하는 경우 참조하십시오.섹션 E.14.

E.13.2. 변화

  • 확장 스크립트가 확장자에 속하지 않는 개체를 교체하지 마십시오 (Tom Lane)§

    이 변경 사항은 확장 스크립트가 수행하는 것을 방지합니다생성 또는 교체확장자에 속하지 않는 기존 객체가있는 경우. 또한 방지존재하지 않으면 생성같은 상황에서. 이는 적대적인 데이터베이스 사용자가 확장 객체의 소유자가 될 수있는 트로이 목마 공격의 형태를 방지 한 다음 다른 사용자의 향후 객체 사용을 손상시키기 위해 수정합니다.

    토토 핫Project Sven Klemm이 문제를보고 해 주셔서 감사합니다. (CVE-2022-2625)

  • 재생 수정데이터베이스 생성대기 서버에 대한 WAL 레코드 (Kyotaro Horiguchi, Asim R Praveen, Paul Guo)§ § § §

    대기 서버는 데이터베이스 생성 WAL 레코드를 재생할 때 테이블 스페이스 디렉토리 누락이 발생할 수 있습니다. 이 패치 전에 대기는 그러한 경우에 복구되지 않을 것입니다.

  • 지원장소테이블 스페이스 (Thomas Munro, Michael Paquier, Álvaro Herrera)§ § §

    일반적으로 Postgres 테이블 스페이스는 다른 파일 시스템의 디렉토리에 대한 상징적 링크입니다. 이 변경으로 인해 일반 디렉토리가 될 수 있습니다.데이터베이스 생성재생 수정, 일시적으로 누락 된 테이블 스페이스를 A로 생성합니다장소테이블 스페이스.

  • 수정 권한 수표 in색인 생성(Nathan Bossart, Noah Misch)§

    CVE-2022-1552에 대한 수정 원인색인 생성이전에 호출 사용자의 권한을 사용한 운영자 클래스 및 기타 객체 조회를 수행하는 동안 테이블 소유자의 권한을 적용하려면 테이블 소유자의 권한을 적용합니다. 이것은 덤프/복원 시나리오를 깨뜨 렸습니다. 왜냐하면pg_dump문제색인 생성다시 부여하기 전.

  • 확장 쿼리 프로토콜토토 핫 즉시 커밋을 강제로데이터베이스 생성및 트랜잭션 블록 (Tom Lane)토토 핫 실행할 수없는 기타 명령§

    클라이언트가 해당 명령 직후에 동기화 메시지를 보내지 않고 대신 다른 명령을 보내는 경우 해당 명령의 실패는 이전 명령을 롤백하여 일관되지 않은 상태 온 디스크 (예 : 누락 또는 추가 데이터베이스 디렉토리)를 남깁니다. 그 상황을 방지하기위한 메커니즘은 간단한 메시지에서 여러 명령에 대해 작동하지만 일련의 확장 프로토콜 메시지에는 그렇지 않습니다.

  • 트랜잭션 가시성을 확인할 때 레이스 조건 수정 (Simon Riggs)§

    TransactionIdisinProgress보고 할 수 있습니다false주제 거래가 눈에 보이는 것으로 간주되기 전에 다양한 오작동으로 이어집니다. 레이스 조건 창은 일반적으로 매우 좁지 만 동기식 복제를 사용하는 것이 훨씬 더 넓어집니다. 동기 복제 대기가 해당 창토토 핫 발생하기 때문입니다.

  • 비 탑 레벨 세트 리턴 링 함수 (Richard Guo, Tom Lane)가 포함 된 표현식으로 정렬 할 때 잘못된 계획을 수정합니다.§ §

  • 확장 통계에 대한 잘못된 권한 확인 코드 (Richard Guo)§

    사용자가 부분 만있는 테이블에 통계가 확장 된 경우select권한에 대한 권한, 일부 쿼리는에 실패합니다.인식되지 않은 노드 유형오류.

  • 부울 값 표현식 (Tom Lane)에 대한 MCV 유형 통계를 처리하기위한 확장 통계 기계 수정.§

    Statistics Collection은 잘 작동했지만 그러한 표현이 포함 된 쿼리여기서알 수없는 조항 유형.

  • 플래너 코어 덤프 방지상수= Any (배열)Clauses는 MCV 유형 확장 통계가있을 때의 조항배열가변 (Tom Lane)§ §

  • 수정Alter Table ... 트리거 활성화/비활성화분할 된 테이블의 트리거에 대한 재귀를 올바르게 처리하려면 (Álvaro Herrera, Amit Langote)§ §

    어떤 경우에는 a트리거가 존재하지 않습니다실패는 명령이 아동 파티션토토 핫 트리거를 조정하려고 시도하기 때문에 발생합니다.

  • 취소 허용분석확장 통계를 컴퓨팅하는 동안 (Tom Lane, Justin Pryzby)§

    통계 대상이 높은 일부 시나리오토토 핫는 랜치 셀 수없는 정렬 작업토토 핫 몇 초를 소비 할 수있었습니다.

  • 유형에 대한 구문 오류 메시지 향상JSONPATH(Andrew Dunstan)§

  • pg_stop_backup ()세션 상태를 제대로 정리합니다 (Fujii Masao)§

    이 누락은 세션 후반에 주장 실패 또는 충돌로 이어질 수 있습니다.

  • 수정trim_array ()제로 차원 배열 인수를 처리하려면 Sanely (Martin Kalcher)§

  • 고정 Alias ​​Matching in 수정[키] 업데이트/공유.Clauses (Dean Rasheed)§

    코너의 경우 오도 오류 가보고 될 수 있습니다.

  • 거부row ()표현 및 기능From열이 너무 많습니다 (Tom Lane)§ §

    약 1600 개의 열이 약 1600 개가 넘는 사례는 지원되지 않으며 항상 실행에 실패했습니다. 그러나 일부 초기 코드는 32k 이상의 열이있는 쿼리로 어설 션 실패 또는 충돌로 이어질 수 있습니다.

  • 함수를 사용하여 뷰의 덤프 수정From뷰가 만들어진 후 복합 유형의 열이 삭제 된 경우 복합 유형을 반환합니다 (Tom Lane)§

    이 감독은 덤프/다시로드 또는로 이어질 수 있습니다.pg_upgrade덤핑 된보기에 기능에 대해 너무 많은 열 별명을 갖기 때문에 실패.

  • 논리적 복제 Walsenders (Fujii Masao)토토 핫 중첩 백업 작업을 허용하지 않습니다.§

  • 논리적 복제 가입자 (Hou Zhijie)에서 메모리 누출 수정§

  • 대상 테이블이 분할 될 때 (Shi Yu, hou Zhijie)에 대한 논리 복제의 복제 아이덴티티 검사 수정§ §

    아동 파티션에 대해서는 복제 아이덴티티 열을 재 식별해야합니다.

  • Publisher (Shi Yu, Hou Zhijie)의 스키마 변경 후 논리적 복제 가입자로 캐시 된 스키마 데이터를 업데이트하는 실패 수정§ §

  • 올바르게 처리하려면 WAL 일관성 검사 논리 수정brin_evacuate_page플래그 (Haiyang Wang)§ §

  • 공유 해시 가능 관리 (Thomas Munro)에서 잘못된 어설 션 검사 수정§

  • 어설 션 실패를 피하십시오min_dynamic_shared_memoryis set to a non-default value (Thomas Munro)§

  • 커밋 타임 오류 후 정리 준비spi_commit (), 발신자가 그렇게하기를 기대하는 대신 (Peter Eisentraut, Tom Lane)§ §

    적절한 청소는 복잡하고 저수준 시설을 사용해야하므로 알려진 발신자가 제대로 얻지 못한다는 것은 놀라운 일이 아닙니다. 이로 인해 PL 절차가 발행되었을 때커밋그러나 실패가 발생했습니다 (예 : 지연된 제약 조건 검사). 문제를 개선하려면 재정의spi_commit ()새 거래를 시작하여SPI_COMMIT_AND_CHAIN ​​()이전 트랜잭션의 특성을 보존하는 대신 기본 트랜잭션 특성을 얻는 것을 제외하고. 이것을 다소 투명한 API로 만들려면 redefineSPI_START_TRANSACTION ()NO-OP로서. 알려진 모든 발신자spi_commit ()즉시 전화SPI_START_TRANSACTION (), 변경 사항은 눈치 채지 못할 것입니다. 비슷한 발언이 적용spi_rollback ().

    또한 PL/Python을 수정하여 이러한 오류의 처리를 전혀 생략하여 Python 통역사에서 뛰어 내립니다. 이것은 Python 3.11 충돌로보고됩니다.

  • 개선libpq의 파이프 라인 모드토토 핫의 유휴 상태 처리 (Álvaro Herrera, Kyotaro Horiguchi)§ §

    이것은 수정메시지 유형 0x33은 서버토토 핫 도착했을 때 유휴 상태로 도착했습니다경고, 그리고 가능한 종말 널 손실 결과pqgetresult ().

  • 코어 덤프 방지ecpglib예상치 못한 운영 주문 (Tom Lane)§

    와 같은 특정 작업Exec SQL 준비데이터베이스 연결을 설정하기 전에 호출 된 경우 (예상대로 오류를보고하지 않고) 충돌합니다.

  • inecpglib, 중복 피하십시오Newlocale ()전화 (Noah Misch)§ §

    쿼리 당 한 번에 로케일 객체를 생성하고 자유롭게하지 않고 처음 연결할 때 프로세스 당 한 번 C 로케일 객체를 할당합니다. 이것은 AIX토토 핫 LIBC 메모리 누출을 완화하고 모든 곳토토 핫 성능 이점을 제공 할 수 있습니다.

  • inPSQL's\ watchCommand, Control-C (Pavel Stehule)로 취소 한 후 Newline을 반향합니다.§

    이것은 커서가 어떤 칼럼에 있는지 혼란스러워지는 것을 방지합니다.

  • 수정pg_upgrade업그레이드 할 수없는 기능의 사용법을 감지하려면AnyArray(Justin Pryzby)§ §

    버전 14는 일부 내장 기능을 유형을 취하도록 변경했습니다anycompatiblearray대신AnyArray. 이것은 대부분 투명하지만 사용자 정의 골재 및 이러한 기능 위에 내장 된 운영자는 정확히 일치하는 유형으로 선언해야합니다.pg_upgrade실패하므로 업그레이드를 시작하기 전에 그러한 사례를 감지하고보고하도록 변경하십시오.

  • 이후 잘못된 오류 조건에 대한 가능한 보고서 수정clone ()실패pg_upgradewith-클론옵션 (Justin Pryzby)§

  • 수정contrib/pg_stat_statements32 비트 플랫폼 (Tom Lane)의 매우 큰 쿼리 텍스트 파일의 문제를 피하려면§

  • inContrib/Postgres_FDW,있을 때 배치 삽입 방지확인 옵션제약 (Etsuro Fujita)§

    한 번에 하나 이상의 행이 삽입되면 이러한 제약 조건을 제대로 점검 할 수 없습니다.

  • 수정Contrib/Postgres_FDW비동기 데이터 전송 실패를 감지하려면 쿼리 쿼리 (Fujii Masao)§

  • Contrib/Postgres_FDW상수를 보냅니다RegConfig및 기타Reg*적절한 스키마 자격이있는 유형 (Tom Lane)§

  • Linux (Thomas Munro)에 동적 공유 메모리를 할당하는 동안 신호를 차단합니다§ § §

    신호가 방해 할 때 문제를 피합니다posix_fallocate ().

  • 예상치 못한 감지eexist오류shm_open ()(Thomas Munro)§

    이것은 Solaris토토 핫의 충돌 가능성을 피합니다.

  • 사용하지 않으면signalfd ()onIllumosSystems (Thomas Munro)§

    이것은 교수형과 커널 패닉을 트리거하는 것처럼 보이므로 수정을 사용할 수있을 때까지 기능을 피하십시오.