릴리스 노트

PostgreSQL

E.5. 릴리스 13.16

출시 날짜 :2024-08-08

이 릴리스에는 13.15의 다양한 수정 사항이 포함되어 토토 사이트. Major Release 13의 새로운 기능에 대한 정보는 참조섹션 E.21.

E.5.1. 버전 13.16으로의 마이그레이션

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

그러나 13.14 이전 버전에서 업그레이드하는 경우 참조섹션 e.7.

E.5.2. 변화

  • 무단 코드 실행 방지pg_dump(Masahiko Sawada)§

    비 임시 객체를 생성하고 삭제할 수있는 공격자는 동시에 실행될 SQL 코드를 주입 ​​할 수 토토 사이트pg_dump역할의 권한과 함께하는 세션pg_dump(종종 슈퍼업자입니다). 공격에는 시퀀스 또는 유사한 객체를 악성 코드를 실행하는 뷰 또는 외국 테이블로 대체하는 것이 포함됩니다.thegrict_nonsystem_relation_kind비 지적 뷰의 확장과 외국 테이블에 대한 액세스를 비활성화하고 가르치는 것은pg_dump사용 가능한 경우 설정합니다. 공격은 둘 다에만 방지됩니다.pg_dump그리고 덤프하는 서버는이 수정을 할 수있을 정도로 새롭습니다.

    thePostgreSQL프로젝트이 문제를보고 해 주신 Noah Misch에게 감사드립니다. (CVE-2024-7348)

  • 테이블에 이전에 상속 재료 어린이 (Álvaro Herrera)가 있던 경우 테이블을 파티션으로 첨부 한 후 실패 수정§

  • 수정Alter Table Detach Partition일관되지 않은 인덱스 기반 제약과 관련된 경우 (Álvaro Herrera, Tender Wang)§ §

    파티션 된 테이블에 제약 조건과 관련이없는 색인이 있지만 파티션에는 동등한 인덱스가있는 경우 파티션을 분리하여 오작동하여 전분의 제약 조건을 부정확하게 남겨 둡니다.coninhcount값. 이것은 해당 제약을 추가로 조작하는 동안 문제를 일으킬 것입니다.

  • 프로 시저에 대한 다형성 출력 인수의 처리 수정 (Tom Lane)§ §

    SQLCall명령문은 그러한 인수에 대한 올바른 데이터 유형을 해결하지 않았으므로유형의 값을 표시 할 수 없습니다또는 심지어 명백한 충돌. (하지만Callinpl/pgsql올바르게 일했습니다.)

  • a에서 호출 된 안정적인 기능의 동작 수정Call성명서의 인수 목록 (Tom Lane)§

    Call는 원자 컨텍스트 내에 있으며 (예 : 외부 트랜잭션 블록이 있음), 그러한 함수는 잘못된 스냅 샷으로 전달되어 외부 트랜잭션이 시작된 이후로 수정 된 행의 오래된 값을 볼 수 있습니다..

  • 정수 오버플로 감지Money계산 (Joseph Koshakow)§

    Money오버플로를 확인한 유형은 오버플로를 확인하여 넘쳐나는 사례에 대해 조용히 잘못된 답변을 제공 할 것입니다.

  • 스케일 인수의 과도한 공격적인 클램핑 수정라운드 (숫자)andTrunc (Numeric)(Dean Rasheed)§

    이러한 기능은 척도 인수를 +/- 2000으로 클램핑했지만 더 큰 유효한 사용 사례가 토토 사이트. 기능은 그러한 경우에 잘못된 결과를 반환했습니다.숫자.

  • 예방PG_SEVERENCE_LAST_VALUE ()대기 서버 및 기타 세션의 임시 시퀀스 (Nathan Bossart)에서 실패한 시퀀스에서 실패하지 못했습니다.§

    오류를 던지는 대신이 경우 널리 리턴하게 만들었습니다.

  • 무시 된 연산자의 구문 분석 수정websearch_to_tsquery ()(Tom Lane)§

    매뉴얼에 따라의 구두점websearch_to_tsquery ()는 대시 및 따옴표의 특별한 경우를 제외하고 무시됩니다. 그러나 괄호와 몇 가지 다른 캐릭터가 바로 앞에 나타납니다또는원인또는|또는예상대로 운영자.

  • 새로운 배열 치수를 계산하는 동안 다른 정수 오버플로 케이스 감지 (Joseph Koshakow)§

    배열 치수 적용 거부[-2147483648 : 2147483647]빈 배열로. 이것은 CVE-2023-5869와 밀접한 관련이 있지만 배열이 여전히 비어 있기 때문에 무해한 것처럼 보입니다.

  • 새로운 카탈로그 캐시 항목의 또 다른 사례를 감지하면서 필드 (Noah Misch)§

    카탈로그 튜플에서 외부 필드를 확장하는 동안 내장 업데이트가 발생하면 내장 캐시 항목이 부족하지만 부실한 것으로 알려지지 않은 카탈로그 캐시 항목으로 이어집니다. 이것은에서만 가능합니다.pg_database카탈로그, 따라서 효과는 좁지 만 오해가 가능합니다.

  • 뷰 열의 업데이트 가능성을 올바르게 점검하여삽입 ... 기본값(Tom Lane)§

    그러한 열이 업데이트되지 않으면 오류를보고해야합니다. 그러나 수표가 놓친 후 나중에 코드는와 같은 도움이되지 않는 오류를보고합니다.속성 번호NView TargetList에서 찾을 수 없음.

  • 잘못된 재귀 쿼리에 대한 도움이되지 않는 내부 오류를보고하지 마십시오 (Tom Lane)§

    a 시점 오류를 던지도록 오류 점검 순서를 재정렬합니다.with recursive쿼리는의 두 번째 암에 자체 참조가 없습니다Union, 그러나와 같은 다른 곳에서는 하나의 자기 참조가 토토 사이트주문.

  • 대기열이 있으면 오류를 던지지 마십시오이후트리거가 더 이상 존재하지 않음 (Tom Lane)§

    트랜잭션이 연기 대기하는 작업을 실행할 수 토토 사이트이후나중에 실행을위한 트리거, 그 전에 트리거를 떨어 뜨립니다. 이전에 이것은와 같은 이상한 오류로 이어졌습니다.트리거를 찾을 수 없음nnnn. 트리거가 실행되었을 때 방아쇠가 더 이상 존재하지 않으면 조용히하지 않는 것이 낫습니다.

  • 제거 실패 수정PG_INIT_PRIVS테이블이 떨어질 때 열 수준 권한에 대한 항목 (Tom Lane)§

    확장자가 테이블의 일부 열 수준 권한을 부여하면 연장이 삭제 된 후 관련 카탈로그 항목이 뒤에 남아 토토 사이트. 테이블의 OID가 다른 관계에 대해 재사용되지 않는 한, 이것은 무엇을 방해 할 수있을 때까지 이것은 무해했습니다.pg_dump그 관계에 대한 덤프.

  • 중재인 지수 선택 수정충돌원하는 지수에 표현식 또는 predicates (Tom Lane)가있는 경우§

    쿼리를 사용하는 경우충돌업데이트 가능한보기를 통해 대상 테이블에 액세스하면가 실패 할 수 토토 사이트.충돌 사양과 일치하는 고유 또는 제외 제약 조건이 없습니다, 일치하는 인덱스가 존재하더라도.

  • 다른 세션의 임시 테이블 수정 거부Alter Table(Tom Lane)§

    권한 점검은 일반적 으로이 사건이 발생하는 것을 방지하지만 자녀가 다른 세션의 임시 테이블 인 부모 테이블을 변경하여이를 도달 ​​할 수 토토 사이트. 그러한 아동 테이블이 다른 세션에 속한다는 것을 알게되면 오류를 던지십시오.

  • |min ()또는max ()Aggregates (Tom Lane)§

    경우에 따라 외부 쿼리의 한 줄에서 계산 된 집계 결과는 나중에 적용되지 않아야 할 때는 재사용 할 수 토토 사이트. 이것은 외부 쿼리가 사용할 때만 발생하는 것으로 보입니다별도의해시 집계로 구현되었지만 다른 경우가있을 수 토토 사이트.

  • JIT 인쇄 된 백엔드 함수가 오류를 던질 때 충돌하지 마십시오 (Tom Lane)§

    오류 상태는 JIT 통신 코드 (오류 위치 문자열)를 고정하는 동적으로로드 된 모듈로의 포인터를 포함 할 수 토토 사이트. 일부 코드 경로에서는 오류 보고서가 처리되기 전에 모듈이 언로드 될 수 있으며 위치 문자열에 액세스 할 때 SIGSEGV가 발생합니다.

  • 행동 변화에 대처하는libxml2버전 2.13.x (Erik Wienhold, Tom Lane)§

    특히, 우리는 이제 억제청크는 균형이 잘 잡혀 있지 않습니다오류libxml2, 그것이보고 된 유일한 오류가 아니라면. 이것은 오류 보고서가 2.13.x와 이전 사이에 일관되게 만드는 것입니다libxml2버전. 이전 버전에서는 그 메시지가 거의 항상 중복되거나 완전히 잘못되었으므로 2.13.x는보고 된 사례 수를 크게 줄였습니다.

  • 핫 스탠드버 서버 (Heikki Linnakangas)를 시작할 때 준비된 트랜잭션의 하위 전환 처리 수정§

    셧다운 체크 포인트 월드 레코드에서 대기 재생을 시작할 때, 준비되었지만 아직 기본에 저지른 트랜잭션은 여전히 ​​진행중인 것으로 올바르게 이해됩니다. 그러나 준비된 트랜잭션의 하위 트랜잭션 (SavePoints 또는에 의해 생성됩니다.pl/pgsql예외 블록)은 설명되지 않았으며 중단 된 것으로 취급 될 것입니다. 준비된 거래가 나중에 저지른 경우 불일치로 이어졌습니다.

  • 논리적 복제 슬롯의 잘못 초기화 방지 (Masahiko Sawada)§

    경우에 따라 WAL 스트림 내 복제 슬롯의 시작점이 트랜잭션 내에서 한 지점으로 설정되어 어설 션 실패 또는 잘못된 디코딩 결과를 초래할 수 있습니다..

  • 알림 또는 sinval 인터럽트 (Tom Lane) 서비스 후 메모리 누출을 피하십시오.§

    이러한 이벤트의 처리 함수는 현재 메모리 컨텍스트를 TopMemoryContext로 전환 할 수 있으므로 잘못된 설정이 교체되기 전에 할당 된 데이터의 세션 리포지브 누출이 발생할 수 토토 사이트. 구속하는 쿼리의 (적어도) 인코딩 변환과 관련된 관찰 가능한 누출이 있었다.

  • Windows 소켓에서 입력 종료 이벤트 누락을 피하십시오 (Thomas Munro)§

    Windows는 연결의 원격 끝이 단절된 후에 만 ​​FD_Close 이벤트를보고합니다. 운이 좋지 않은 타이밍으로, 우리는 그 보고서를 놓치고 무기한으로, 또는 적어도 타임 아웃이 경과 할 때까지 더 많은 입력을 기대할 수 있습니다.

  • 불완전한 바이트 시퀀스 (Jacob Champion)에 대한 JSON 구문 분석 오류 보고서에서 버퍼 오버 리드 수정§

    마지막 바이트가 불완전한 다중 바이트 문자를 구성 할 때 입력 버퍼의 끝을 몇 바이트만으로 걸을 수있었습니다. 일반적으로 무해하지만 원칙적으로 이것은 충돌을 일으킬 수 있습니다.

  • OpenSSL (Daniel Gustafsson)의 Stateful TLS 세션 티켓 생성 비활성화§ § §

    세션 티켓을 수신한다고 생각하는 고객과의 가능한 실패를 피합니다. TLS 세션 재개가 지원되는 것을 의미합니다.

  • a 회수 할 때pl/pgsql 간단한 표현, 여전히 간단하다고 확인하십시오 (Tom Lane)§

    참조 된 기능을 삭제하고 총체적으로 재현하는 것과 같은 상당히 상당히 관대 한 경우와 같은 놀라운 실패로 이어질 수 토토 사이트.예기치 않은 계획 노드 유형.

  • 간에 비 호환성 수정pl/perl및 Perl 5.40 (Andrew Dunstan)§

  • 재귀 수정레코드-선발pl/python함수 (Tom Lane)§

    다른 열 정의 목록을 전달하는 동일한 함수의 새 호출로 되돌아 가면 (as절), 내부 호출이 어떤 rowtype가 반환 할 것인지에 대한 외부 호출의 아이디어를 덮어 쓰기 때문에 실패합니다..

  • 부패하지 마십시오pl/python'sTD재귀 트리거 호출 중 사전 (Tom Lane)§

    apl/python-언어 트리거가 다른 트리거를 호출하게했습니다.TD내부를 위해 생성 된 사전은 외부를 덮어 쓰게됩니다TD사전.

  • 수정pl/tcl의 잘못된 목록 구문보고 기능 반환 튜플 (Erik Wienhold, Tom Lane)§

    그러한 경우는 충돌이 발생하거나 이전 TCL 오류를 실제로 언급하는 오해의 소지가있는 맥락 정보가 배출 될 수 있습니다..

  • 비 스레드-안전 사용을 피하십시오strerror ()inlibpq(Peter Eisentraut)§

    OpenSSL이 반환 한 특정 오류 메시지는 다중 스레드 응용 프로그램에서 차량화 될 수 있습니다.

  • PG_RESTORE -l보고서 종속 TOC 항목을 올바르게 (Tom Lane)§

    if-l과 같은 선택적 레스터 옵션과 함께 지정되었습니다.-n또는-n, 실제 복원이 선택한 경우에도 주석과 같은 종속 TOC 항목은 목록에서 생략됩니다.

  • inContrib/Postgres_FDW, 보내지 마십시오타이와 함께 첫 번째 가져 오기원격 서버 (japin li)로의 조항§

    원격 서버 가이 조항을 구현하지 않거나 로컬에서와 다르게 해석 할 수 있으므로 원격 실행을 시도 할 위험이 없습니다.

  • 시스템이 제공하는 충돌을 피하십시오헤더 (Thomas Munro)§

    이것은 MacOS 버전 15 이상에서 컴파일 실패를 수정합니다.

  • |Reindex 동시에SP-Gist 지수 (Tom Lane)에 적용§