E.7. 릴리스 15.7

출시 날짜 :2024-05-09

이 릴리스에는 15.6의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 15의 새로운 기능에 대한 정보는 참조섹션 E.14.

E.7.1. 버전 15.7으로의 마이그레이션

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

그러나 시스템보기에서 보안 취약점이 발견되었습니다PG_STATS_EXTpg_stats_ext_exprs6369_6561

또한 15.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.8.

E.7.2. 변화

  • 가시성 제한pg_stats_extandpg_stats_ext_exprs테이블 소유자의 항목 (Nathan Bossart)§

    이러한보기는 열이 포함 된 표현식에 대한 통계를 숨기지 못했습니다. 액세스 사용자는 읽을 권한이 없습니다. 와 같은 열보기most_common_vals7524_7744

    thePostgreSQL이 문제를보고 해 주신 프로젝트 감사 Lukas Fittl. (CVE-2024-4317)

    그 자체로,이 수정은 새로 Intdb'd 데이터베이스 클러스터의 동작 만 수정합니다. 이 변경 사항을 기존 클러스터에 적용하려면 다음을 수행해야합니다.

    1. kèo bóng đá hom nay 스크립트 찾기Fix-CVE-2024-4317.kèo bóng đá hom nayin공유디렉토리PostgreSQL설치 (일반적으로 어딘가에 위치한/usr/share/postgresql/). 귀하에게 적합한 스크립트를 사용하십시오PostgreSQL주요 버전. 이 파일이 표시되지 않으면 버전이 취약하지 않거나 (v14 – v16 만 영향을 받는지) 또는 마이너 버전이 너무 오래되어 수정을하기에는

    2. in클러스터의 데이터베이스, 실행Fix-CVE-2024-4317.kèo bóng đá hom nay슈퍼 사용자로서 스크립트. 안에PSQL이것은

      \ i/usr/share/postgresql/fix-cve-2024-4317.kèo bóng đá hom nay

      (파일 경로를 적절하게 조정). 모든 오류는 아마도 잘못된 스크립트 버전을 사용했음을 나타냅니다. 스크립트를 두 번 이상 실행하는 것은 아프지 않을 것입니다.

    3. 포함하는 것을 잊지 마십시오Template0andtemplate1데이터베이스 또는 취약점은 나중에 만든 데이터베이스에 여전히 존재합니다. 수정하려면template0, 일시적으로 연결을 수락해야합니다.

      allow_connections true를 사용하여 데이터베이스 템플릿을 변경하십시오.

      그런 다음 수정 후Template0, undo with

      allow_connections가있는 데이터베이스 템플릿 변경;
  • 수정삽입다중배열 또는 복합 유형 (Tom Lane)의 도메인 인 대상 열로의 행§

    이러한 사례는 불일치 한 데이터 유형에 대한 놀라운 불만으로 실패하거나 이상한 결과를 초래할 수있는 예기치 않은 강요를 삽입합니다.

  • 요구select대상 테이블의 특권병합with아무것도하지 않습니다절 (Álvaro Herrera)§

    select어쨌든 모든 실제 경우에 권한이 필요하지만 쿼리에 대상 테이블의 열이 없어도 요구합니다. 이것은 가장자리 케이스를 피합니다병합특권이 필요하지 않습니다.

  • 자기 수정 튜플의 취급 수정병합(Dean Rasheed)§

    kèo bóng đá hom nay 표준에 따라 대상 행이 둘 이상의 소스 행에 조인되는 경우 오류를 던집니다. (이전 코딩은 동시 업데이트가 관련된 경우이 조건을 조용히 무시할 수 있습니다.) 또한 대상 행이 현재 트랜잭션에서 나중에 명령에 의해 이미 업데이트 된 경우,.쿼리에 사용되는 트리거 또는 휘발성 함수.

  • 테이블이 부울 열에 분할되고 쿼리에 부울이있는 경우 NULL 파티션의 잘못된 가지 치기 수정is절 (David Rowley)§

    널 값은와 같은 조항을 만족합니다.부울거짓이 아니다

  • 만들기외국 테이블 세트 스키마 변경소유 한 시퀀스를 새 스키마 (Tom Lane)로 이동합니다§

    일반 테이블을 새 스키마로 이동하면 테이블이 소유 한 모든 시퀀스가 ​​해당 스키마로 이동하여 (인덱스 및 제약 조건과 함께) 발생합니다. 그러나 이것은 외국 테이블에 대해 간과되었습니다.

  • 만들기Alter Table ... 열 추가자신의 소유 테이블과 동일한 끈기를 가진 신원/직렬 시퀀스 생성 (Peter Eisentraut)§

    무제성 테이블 만들기13228_13278Alter Table13316_13431

  • 개선ALTER 테이블 ... ALTER 열 유형의 종속 함수 또는 출판물이있을 때의 오류 메시지 (Tom Lane)§ §

  • in데이터베이스 생성, 전략 키워드 인식 다른 옵션과의 일관성 (Tomas Vondra)§

  • 수정설명의 비트 맵 힙 스캔 (Melanie Plageman)에서 액세스하는 힙 페이지 계산§

    이전에 눈에 보이는 튜플이 포함되지 않은 힙 페이지는 계산되지 않았습니다. 그러나 비트 맵 인덱스 스캔으로 반환 된 모든 페이지를 계산하는 것이 더 일관된 것 같습니다.

  • 수정설명의 하위 계획 출력병합(Dean Rasheed)§

    설명때때로 계획 트리의 다른 부분에 변수를 참조하는 하위 플랜 매개 변수를 제대로 표시하지 못할 수도 있습니다.

  • 고아가있는 임시 테이블 제거 중 교착 상태를 피하십시오 (Mikhail Zhilin)§

    테이블을 제거하지 않고 임시 테이블을 생성하는 세션이 충돌하는 경우 Autovacuum은 결국 고아 테이블을 제거하려고합니다. 그러나 동일한 임시 네임 스페이스가 할당 된 들어오는 세션도이를 수행합니다. 임시 테이블에 의존성 (예 : 소유 시퀀스)이있는 경우 교착 상태 가이 두 정리 시도 사이에 발생할 수 있습니다.

  • 관계 당 냉동-xid 값 (Noah Misch)을 검사하는 동안 인종 상태를 피하십시오§

    진공의 관계 당사자 별 값의 동시 업데이트에 의해 retaabase 당사베이스 당 frozen-xid 값의 계산진공.

  • 병렬 진공 청소기 (Anthonin Bonnefoy)에 대한 버퍼 사용 보고서 수정§

    병렬 작업자가 수행 한 버퍼 액세스는보고 된 통계에서 계산되지 않았습니다Verbose모드.

  • 테이블을 사용하는 외부 kèo bóng đá hom nay 명령 내에서 테이블을 뷰로 변환하지 못하게합니다 (Tom Lane)§

    이것은 가능한 충돌을 피합니다.

  • 동등한 클래스에서 생성 된 조건이 올바른 계획 수준 (Tom Lane)에서 적용되는지 확인하십시오.§

    이전 버전PostgreSQL16, 외부 조인 위에서 (이후) 위를 평가해야 할 때 외부 결합 아래에서 생성 된 조건을 평가할 수 있으므로 쿼리 결과가 잘못 초래됩니다. 모든 버전은 결합을 고려할 때 비슷한 위험이 있습니다Union All일부의 조인 열에 대한 일정한 출력이있는 나무select암.

  • 일부 윈도우 함수의 잠재적으로 정립 된 최적화 방지 (David Rowley)§

    비활성화실행 조건최적화ntile ()andcount ()논쟁의 여지가없는 인수. 이것은 하위 선택이있는 오해를 피하며 일반적으로와 같은 오류로 이어집니다.Subplan Target Lists에서는 Windowfunc을 찾을 수 없습니다.

  • 움직이지 않는 창 프레임 (Vallimaharajan g)과 함께 이동 응집 모드의 불필요한 사용을 피하십시오§

    일반 집계가 창 함수로 사용되고 창 프레임 시작이로 지정됩니다.미리 알려지지 않은18326_18527

  • GEQO (Tom Lane) 하에서 파티션 별 조인을 계획하는 동안 이미 프리 드 데이터 사용을 피하십시오§

    이것은 일반적으로 충돌 또는 예기치 않은 오류 메시지로 끝납니다.

  • Memoize (Tender Wang, Andrei Lepikhov)에서 아직 사용하지 않는 데이터를 제거하지 마십시오§

    생산 에서이 오류는 자주 사용되기 전에 해방 된 데이터가 덮어 쓰지 않을 가능성이 높기 때문에이 오류는 자주 문제를 일으키지 않았습니다..

  • 잘못보고 된 통계를 수정하십시오.요청 된 통계 종류x아직 구축되지 않았습니다오류 메시지 (David Rowley)§

  • 19624_19647레코드-함수의 반환From(Tom Lane)§ §

    그러한 함수 호출의 출력 열은 AN에 의해 ​​정의되어야합니다as20007_20335

  • kèo bóng đá hom nay-Language Procedures (Tom Lane)의 반환 행 유형에 대한 혼란 수정§

    단일 복합 유형 열을 반환하는 kèo bóng đá hom nay 언어로 구현 된 절차는 어설 션 실패 또는 코어 덤프를 유발합니다.

  • 20755_20838§

  • 잘못된 라운드 및 오버플로 위험 수정date_bin ()(Moaaz Assali)§

    21159_21431

  • 21491_21547간격to/from a타임 스탬프(Joseph Koshakow)§

    범위 외 오류를 유발 해야하는 경우 대신 잘못된 결과를 얻었습니다.

  • 인종 상태를 피하십시오pg_get_expr ()(Tom Lane)§

    인수에 의해 언급 된 관계가 동시에 삭제되면, 함수의 의도는 null을 반환하는 것이지만 때로는 대신 실패합니다..

  • XID 상태 기능 (Karina Litskevich)에서 이전 트랜잭션 ID의 탐지 수정§

    트랜잭션 ID가 2 이상31과거의 거래는 최근에 잘못 식별되어의 오작동으로 이어질 수 있습니다.pg_xact_status ()또는TXID_STATUS ().

  • 테이블의 프리 스페이스 맵이 테이블 끝을 지나는 페이지를 반환하지 않도록하십시오 (Ronan Dunklau)§

    프리 스페이스 맵은 월 로그가 아니기 때문에 OS 충돌, 복제 홍보 또는 PITR 복원과 관련된 모서리의 경우 가능했습니다. 결과는입니다.블록을 읽을 수 없음오류.

  • 대기 중에 오류가 발생하면 파일 디스크립터 누출 수정Waiteventsetwait(Etsuro Fujita)§

  • FDW가 Async Append를 구현하지만 Append Plan Node가 대기 할 대기 조건 (Alexander Pyhalov)을 구성하지 않으면 예외 스택을 피하십시오.§

  • 인덱스에 액세스하는 동안 인덱스에 액세스하는 경우 오류를 던져 (Tom Lane)§

    이전에 이것은 단지 주장 점검 일 뿐이지 만 일반 런타임 오류로 홍보하십시오. 이렇게하면 자체 테이블에 액세스하려고 시도하는 사용자 정의 인덱스 표현식을 다시 표시 할 때 더 많은 지점 오류 메시지가 제공됩니다.

  • 인덱스 전용 스캔 확인이름열은 완전히 패딩 된 값을 반환합니다 (David Rowley)§

    인덱스에 물리적으로 저장된 값은 잘 렸으며, 이전에는 해당 값에 대한 포인터가 발신자에게 반환되었습니다. 이것은 Valgrind에서 테스트 할 때 불만을 유발했습니다. 이론적으로는 충돌이 발생할 수 있지만보고 된 사람은 없습니다.

  • 논리적 복제에서 테이블 동기 조작이 필요한지 여부를 결정할 때 레이스 조건 수정 (vignesh c)§

    가입자가 동기화 해야하는 테이블을 식별하는 동안 무효화 이벤트가 도착하여 동기화가 필요한 테이블이 적시에 처리되지 않을 수 있습니다.

  • 4GB보다 큰 DSM 할당으로 충돌 수정 (Heikki Linnakangas)§

  • 새로운 서버 세션의 클라이언트 소켓을 비 블로킹 모드 (Heikki Linnakangas)에 넣을 수없는 경우 연결을 끊습니다.§

    한 번 이론적으로 우리는 차단 모드에있는 소켓으로 작동 할 수있었습니다. 그러나 그것은 오랫동안 완전히 작동하지 않았으므로 나중에 잘못 행동하는 대신 연결 시작시 실패합니다.

  • 부적절한 오류보고 수정OpenSSL3.0.0 이상 (Heikki Linnakangas, Tom Lane)§

    OpenSSL에 의해 통과 된 시스템보고 오류는 읽을 수있는 것이 아니라 숫자 오류 코드로보고되었습니다.

  • 동시 호출을 피하십시오bindtextDomain ()inlibpqandecpglib(Tom Lane)§ §

    gnugetText의 구현은 동시 호출에있어 괜찮은 것 같습니다. Windows에서 사용 가능한 버전은 아닙니다.

  • 충돌 수정ECPG의 사전 처리기 프로그램이 전처리 명령 줄 (Tom Lane)에 정의 된 매크로를 재정의하려고 시도하는 경우§ § §

  • inECPG27307_27331지원되지 않는 기능이 서버로 전달됩니다경고 (Tom Lane)§

  • 문자열의 결과가ECPG'sinterasc ()함수는 제로 종료되었습니다 (Oleg tselebrovskiy)§

  • inPSQL, 쿼리가 취소 된 후 쿼리 결과 누출을 피하십시오 (Tom Lane)§

    이것은 쿼리 문자열에서 일상적인 쿼리를 취소 할 때만 발생했습니다\;분리기.

  • 수정pg_dumpall존재하는 경우 역할 댓글이 흡입 될 것입니다.---- 노스-파스워드(Daniel Gustafsson, Álvaro Herrera)§

  • 파일 건너 뛰기.DS_STOREinPG_BASEBACKUP, PG_CHECKSUMSpg_rewind(Daniel Gustafsson)§

    이것은 파인더가 그러한 파일을 생성 할 수있는 MacOS의 문제를 피합니다.

  • 고정PL/PGSQL의 단일 라인 주석의 구문 분석 (---스타일 댓글) 다음 표현 (Erik Wienhold, Tom Lane)§

    이 실수는 그러한 의견을 따르는 경우 arparse 오류를 일으켰습니다언제a 표현pl/pgsql CASE29525_29538

  • inContrib/Amcheck, 단거리 대 장거리 값으로 인한 허위 경기 실패를보고하지 마십시오 (Andrey Borodin, Michael Zhilin)§ §

    힙 튜플 또는 인덱스 튜플의 가변 길이 기준은 제조 될 때 적용되는 압축 매개 변수에 따라 짧거나 긴 헤더를 가질 수 있습니다. 차이가있는 경우 불만을 제기하기보다는 이러한 사례를 동등하게 취급하십시오.

  • 브린 출력 기능 (Tomas Vondra)의 버그 수정§

    이 출력 함수는 인덱스 항목을 표시하는 데만 사용됩니다Contrib/PageInspect, 오류는 실질적인 관심사가 제한적입니다.

  • inContrib/Postgres_FDW, 상수 (David Rowley)에 의해 정렬하라는 요청을 피하십시오§

    이것은 관련된 경우에 발생할 수 있습니다Union All상수 방출 하위 쿼리. 상수로 정렬하는 것은 물론 쓸모가 없지만 원격 서버에 의해 잘못 해석 될 위험이 있습니다.위치 별 주문n선택 목록에 없습니다오류.

  • 만들기Contrib/Postgres_FDW원격 세션의 시간대를 설정gmtnotUTC(Tom Lane)§

    이것은 실제 목적으로 동일한 결과를 가져야합니다. 하지만,gmt서버의 하드 유선 코드로 인식되는 동안UTC는 TimeZone 데이터베이스에서 조회됩니다. 따라서 원격 서버의 TimeZone 데이터베이스에 항목이 없을 가능성이없는 이벤트에서는 이전 코드가 실패 할 수 있습니다.

  • inContrib/XML2, 최근 버전의 |libxml2(Dmitry Koval)§

  • LLVM 18 (Thomas Munro, Dmitry Dolgov)과 비 호환성 수정§

  • 허용확인 make무슬림C 도서관 (Thomas Munro, Bruce Momjian, Tom Lane)§

정정 제출

33640_33866이 양식문서 문제를보고하려면