릴리스 토토 결과

PostgreSQL

E.10. 릴리스 11.13

출시 날짜 :2021-08-12

이 릴리스에는 11.12의 다양한 수정 사항이 포함되어 토토 결과. Major Release 11의 새로운 기능에 대한 정보는 참조섹션 E.23.

E.10.1. 버전 11.13으로의 마이그레이션

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

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

E.10.2. 변화

  • 투영 단계 (Tom Lane)의 반복적 인 적용의 잘못 계획 수정

    플래너는 두 개의 투사 경로가 서로 쌓인 경우 잘못된 계획을 만들 수 토토 결과. 그 상황을 트리거하는 유일한 방법은 병렬 정렬 작업과 관련이 있지만 다른 사례가있을 수 토토 결과.

  • SSL 재협상을 더 완전히 허용하지 않습니다 (Michael Paquier)

    SSL 재협상은 한동안 비활성화되었지만 서버는 여전히 클라이언트 개시 재협상 요청과 협력 할 것입니다. 악의적으로 제작 된 재협상 요청은 서버 충돌을 초래할 수 토토 결과 (OpenSSL 문제 CVE-2021-3449 참조).

  • 이후 포털 레벨 스냅 샷 복원커밋또는롤백절차 내 (Tom Lane)

    이 변경 사항은 즉시 구운 값을 가져 오려는 시도가를 수정합니다.커밋/롤백와 같은 오류로 실패합니다알려진 스냅 샷 없음또는토스트 값에 대한 누락 된 청크 번호 0.

    일부 확장자는 모든 포털 외부에서 SQL 코드를 실행하려고 시도 할 수 토토 결과. 그들은 그렇게하기 전에 외부 스냅 샷이 존재하는지 확인해야합니다.외부 스냅 샷 또는 포털 없이는 SQL을 실행할 수 없습니다.

  • 비 안정적인 쿼리 (Tom Lane)를 읽는 커서의 출력을 지속 할 때 오작동을 피하십시오

    이전에, 우리는 항상 전체 쿼리 결과를 되 감고 다시 읽었으므로 이전 실행과 다른 결과를 얻을 수 있으므로 나중에 큰 혼란을 초래할 수 있습니다. 스크롤이없는 커서의 경우 쿼리 출력의 아직 읽지 않은 부분 만 저장 하여이 문제를 해결할 수 있습니다. 스크롤 커서를 백업 할 수 없기 때문에 충분합니다.

    또한 a 암시 적 커서에 대한 스크롤 모드도 강제 없습니다.pl/pgsql쿼리 루프, 즉시 처리 중에 그러한 커서를 지속시킬 때 이러한 유형의 문제를 피하기 위해

  • 거부SELECT SELECT ... GROUPING SETS (()) 업데이트(Tom Lane)

    이것은 허용되지 않아야합니다.업데이트평범한그룹 by는 허용되지 않았지만 그 테스트는 빈 그룹화 세트를 올바르게 처리하지 못했습니다. 최종 결과는 집행자의 무효 인 포인터 인 Dereference가 될 것입니다.

  • 쿼리가있는 경우를 거부합니다with그냥 다시 쓰기Notify(Tom Lane)

    이전에 추락 한 경우.

  • in숫자곱셈, 소수점 (Dean Rasheed) 이후 16383 자리 이상을 가질 경우 실패하지 않고 결과를 반올림합니다.

  • 제기시 코너 케이스 오류 및 정밀도 손실 수정숫자매우 큰 힘에 대한 값 (Dean Rasheed)

  • Division-by-Zero 실패 수정to_char ()witheeee형식 및 A숫자입력 값 10^(-1001) (Dean Rasheed)

  • 수정pg_size_pretty (bigint)긍정적 인 것들을 반올림하는 방식과 일관되게 둥글게 둥글다.숫자버전) (Dean Rasheed, David Rowley)

  • makePG_FILENODE_RELATION (0, 0)실패하기보다는 널 리턴 (Justin Pryzby)

  • make변경 확장멤버 객체를 추가하거나 제거 할 때 확장자 잠그십시오 (Tom Lane)

    이전 코딩 허용Alter Extension Add/Drop동시에 발생하려면드롭 확장, 충돌 또는 손상된 카탈로그 항목으로 이어지는 것.

  • 수정구독빈 슬롯 이름 (Japin Li)을 거부하려면

  • 파티션 된 테이블의 새로운 파티션 트리거를 복제 할 때 활성화 된 상태가 복사되어 있는지 확인하십시오 (Álvaro Herrera)

  • 생성 된 쿼리의 별칭 충돌을 피하십시오Refresh Restocized View 동시에(Tom Lane, Bharath Rupireddy)

    이 명령은 특정 이름을 가진 열이 포함 된 구체화 된 뷰에서 실패했습니다.MVandNewData.

  • 수정거래 준비상충되는 세션-제외 및 트랜잭션 라이프 스팬 잠금 장치 (Tom Lane)를 올바르게 확인하려면

    트랜잭션은 동일한 자문 잠금 ID 값에 대한 세션 리포 스팬 및 트랜잭션 리포 스팬 잠금 장치가 있으면 준비 할 수 없습니다. 이 제한은 완전히 점검되지 않았으며, 이는 동안 공황으로 이어질 수 토토 결과.거래 준비.

  • 의 오작동 수정DROP 소유자대상 역할이 RLS 정책 (Tom Lane)에 두 번 이상 나열된 경우

  • 동안 RLS 정책에서 역할을 제거 할 때 불필요한 오류 테스트 건너 뛰기DROP 소유자(Tom Lane)

    특히, 이것은 사용하기 위해 슈퍼 서서가 필요한 경우를 수정합니다DROP 소유자.

  • 저장하지 마십시오빠른 기본값외국 테이블에 열을 추가 할 때 (Andrew Dunstan)

    이러한 테이블에는 로컬 힙 스토리지가 존재하지 않기 때문에 빠른 기본값은 쓸모가 없지만 후속 작업이 혼란 스러웠습니다. 그러한 카탈로그 항목의 생성을 억제하는 것 외에도Alter Table명령, 잘못된 상태가있을 때 하류 코드를 대처하도록 조정합니다.

  • 인덱스 상태 플래그가 트랜잭션으로 업데이트되도록 허용 (Michael Paquier, Andrey Lepikhov)

    이것은 실제로 불변이 아닌 지수 곤경을 처리 할 때 실패를 피합니다. 그것이 뒷받침되는 사례로 간주되지는 않지만, 여기서 비 트랜잭션 업데이트를 사용하는 원래 이유는 오랫동안 사라 졌기 때문에 우리는 그것을 바꿀 수 있습니다.

  • 계획 캐시 항목 손상을 피하십시오도메인 생성또는Alter Domain캐시 된 계획 (Tom Lane)에 나타납니다.

  • Walsenders가 최신 복제 명령을 표시합니다pg_stat_activity(Tom Lane)

    이전에 Walsender는 최신 SQL 명령을 보여 주었고, 현재 복제 작업을 수행하고 있다면 혼란 스러웠습니다. 이제 SQL 명령과 동일한 기반에 복제 프로토콜 명령이 표시됩니다.

  • makePG_SETTINGS.pending_restart관련 항목이에 참가할 때 참으로 표시됩니다.postgresql.conf제거되었습니다 (Álvaro Herrera)

    pending_restartPostmaster 재시작없이 변경할 수없는 항목이 수정되었지만 항목이 완전히 제거 된 곳이 아닌 경우를 올바르게 보여주었습니다..

  • 새로운 대기의 코너 케이스 실패 수정 새로운 1 차 (Dilip Kumar, Robert Haas)

    좁은 조건에서 대기는 잘못된 WAL 타임 라인을 따라 가려고 노력할 수 토토 결과.

  • 트랜잭션 중단 레코드의 WAL 재생이 파일 자르기 (Fujii Masao)를 유발할 때 최소 복구 지점 업데이트.

    파일 잘림은 돌이킬 수 없으므로 더 이상 해당 레코드보다 일찍 회복을 중단하는 것이 안전하지 않습니다. 거래 커밋의 해당 사례는 몇 년 전에 고정되었지만 이것은 간과되었습니다.

  • Walreceivers에서 오류 후 카탈로그 조회를 시도하지 마십시오 (Masahiko Sawada, Bharath Rupireddy)

  • WAL이 도착하기를 기다리는 동안 대기 서버의 시작 프로세스가 셧다운 신호에 즉시 응답 할 수 있는지 확인하십시오 (Fujii Masao, Soumyadeep Chakraborty)

  • Transaction Commit Group (Amit Kapila)의 구성원이되지 않은 후 공유 상태를 정확하게 지우십시오.

    올바른 타이밍이 주어지면, 이후 일부 세션이 동일한 PGPROC 객체를 재사용 할 때 어설 션 실패를 유발할 수 토토 결과..

  • 다른 프로세스에서 동시 쓰기에 직면하여 잘못된 Relmapper 데이터를 읽지 않도록 잠금 추가 (Heikki Linnakangas)

  • 복제 프로토콜 위반에 대한 점검 개선 (Tom Lane)

    논리적 복제 작업자는 자주 사용하여 어설 션을 사용하여 유효하지 않거나 순서 외 복제 명령에 의해 유발 될 수있는 사례를 확인합니다. 이것은 현명하지 않은 것처럼 보이므로 이러한 테스트를 정기 오류 확인으로 홍보합니다.

  • 다수의 논리적 복제 작업자가 같은 테이블 (Peter Smith, Haiying Tang)을 자르려고 할 때 교착 상태를 고정합니다.

  • 투기 삽입의 논리적 디코딩에서 오류 케이스 및 메모리 누출 수정 (Dilip Kumar)

  • 오류 후 유효하지 않은 레코드 유형 해시 테이블 항목을 남기지 마십시오 (Sait Talha Nisanci)

    이것은 나중에 충돌 또는 메모리 누출로 이어질 수 있습니다.

  • 수정 계획 캐시 참조 누출 일부 오류 사례에서테이블 작성 ... execute(Tom Lane)

  • 병렬 작업자 (Thomas Munro)에서 튜플 디스크립터를 공유하기위한 코드의 레이스 조건 수정

    올바른 타이밍이 주어지면 충돌이 발생할 수 토토 결과.

  • 배경 노동자들을 출시 할 때 가능한 레이스 조건 수정 (Tom Lane)

    이것은 인텔 하드웨어에서 관찰 가능한 버그를 수정하지는 않지만 메모리 주문 규칙이 약한 기계에는 문제가있을 수 있습니다.

  • 정렬 코드 (Ronan Dunklau)에서 잠재 충돌 수정

    하나의 코드 경로는 널 포인터를 제거하려고 시도 할 수 토토 결과. 핵심 서버의 정렬 사용에서는이 사례가 도달 할 수없는 것으로 보이지만 확장에 의해 트리거 될 수 토토 결과.

  • SP-Gist 인덱스 삽입 (Tom Lane)의 무한 루프 방지

    열이 포함 된 경우 잎 지수 튜플이 페이지에 맞지 않도록 충분한 공간을 차지하는 경우 Text_ops 연산자 클래스는 튜플을 맞추려고 무한 루프로 들어갑니다. Pre-V11 버전에는 열이 포함되어 있지 않지만 운영자 클래스의 버그에 대한 좋은 방어처럼 보이기 때문에이 방지 방지 수정 방지 수정 사항을 다시 배치합니다..

  • 쿼리 취소 요청 (Tom Lane, Álvaro Herrera)에 의해 SP-Gist 인덱스 삽입을 종료 할 수 있는지 확인하십시오.

  • 원인이 될 수있는 비 초기의 변수 버그 수정pl/pgsqlin조항 지정엄격한, 그렇지 않더라도 (Tom Lane)

  • LIBPQ의 인쇄 기능 (Tom Lane)에서 메모리가없는 실패에 대한 프로세스를 중단하지 마십시오.

  • inECPG, 허용숫자valueint_min(일반적으로 -2147483648) 정수 (John Naylor)로 변환됩니다.

  • inPSQL및 기타 클라이언트 프로그램에서는 잘못된 인코딩 된 데이터 (Tom Lane)를 다룰 때 문자열의 끝을 넘어서 피하십시오

    문자열 끝 근처에 잘못 인코딩 된 멀티 바이트 문자는 다음 메모리에서 발생하는 일에 따라 다양한 처리 루프가 문자열 종단 NUL을 지나서 진행할 수 있습니다. 이 특정 사례는 흥미로운 보안 결과가없는 것으로 보이지만 CVE-2006-2313을 연상시킵니다.

  • 수정pg_dump지원 상태가 부모 트리거 상태와 다른 파티션 된 테이블의 트리거를 올바르게 처리하려면 (Justin Pryzby, Álvaro Herrera)

  • 피하기헤더의 잘못된 생성 날짜실행할 때의 경고PG_RESTORE다른 시간대 (Tom Lane)에서 생성 된 아카이브 파일에서

  • makepg_upgrade기존 설치를 계속하십시오OldestXidvalue (Bertrand Drouvot)

    이전에 새 설치의OldestXid|는 즉각적인 raparound autovacuuming을 강요하기에 충분히 오래된 값으로 설정되었습니다. 그것은 성능 관점에서 바람직하지 않습니다.autovacuum_freeze_max_age업그레이드 직후에 원치 않는 강제 종료를 겪을 수 토토 결과.

  • Extendpg_upgrade업그레이드 해야하는 확장에 대해 감지하고 경고하려면 (Bruce Momjian)

    스크립트 파일이 이제를 포함하여 생성되었습니다.Alter Extension Update새 설치에서 기본값으로 간주되는 버전까지 확장자를 가져 오는 데 필요한 명령.

  • 전환시 문제를 피하십시오pg_receivewal압축 및 비 압축 월 스토리지 사이 (Michael Paquier)

  • inContrib/Postgres_FDW, 오류 후 카탈로그 조회를 시도하지 마십시오 (Tom Lane)

    이것은 일반적으로 작동하지만 오류가 카탈로그에 액세스하지 못한 오류 일 수 있기 때문에 그다지 안전하지 않습니다. 수정의 부작용은 데이터 변환 오류에 대한 메시지가 이제 외국 테이블 또는 열의 실제 기본 이름이 아닌 쿼리 테이블 및 열 별칭 (사용 된 경우)을 언급한다는 것입니다.

  • 격리 테스트 인프라 향상 (Tom Lane, Michael Paquier)

    예상 완료 순서를 표시하기 위해 격리 테스트 단계에 주석을 달 수 있도록합니다. 이를 통해 레이스 조건을 막기 위해 이전에 사용한 (완전히 성공적으로 성공적이지는 않음) 지연없이 다른 비율 테스트 사례로부터 안정적인 결과를 얻을 수 있습니다.드라이 런모드. 분리기 자체에서 메모리 누출을 제거하십시오.

  • 캐시 클로버 테스트의 오버 헤드 감소 (Tom Lane)

  • 수정pl/python'Python 3.10 (Honza Horak)과 함께 전달되는 회귀 테스트

  • makeprintf ( "%s", null)print(null)충돌 대신 (Tom Lane)

    이것은 코너 케이스에서 서버 견고성을 향상시켜야하며, 우리의 동기화printf공통 라이브러리를 사용한 구현.

  • 포인트-타임 복구가 a에서 멈출 때 잘못된 로그 메시지 수정롤백 준비레코드 (Simon Riggs)

  • 개선Alter Table의 잘못된 관계 오류에 대한 메시지 (Kyotaro Horiguchi)

  • 참조 오류 메시지를 명확히합니다비 음성값 (Bharath Rupireddy)

  • 수정구성더 이상 별도가없는 OpenLDap 2.5에서 작업하려면libldap_r도서관 (Adrian Ho, Tom Lane)

    없는 경우libldap_r라이브러리, 이제 우리는 이제 조용히 가정합니다libldapis Thread-Safe.

  • 새로운 대상 추가World-BinandInstall-World-bin(Andrew Dunstan)

    이들은와 동일합니다.Worldand설치 세계문서를 빌드하거나 설치하지 않는 한 각각.

  • 탭 테스트에 대한 규칙 수정 (provace_installcheck) PGXS 사용법 (Andrew Dunstan)에서 작동합니다.

  • 다가오는 LLVM API 변경을 준비하도록 JIT 코드 조정 (Thomas Munro, Andres Freund)

    LLVM 13은 이전 JIT 컴파일러의 충돌을 일으키는 호환되지 않는 API 변경을 만들었습니다.

  • GSSAPI 라이브러리에 의해 반환 된 문자열이 무효로 종결되었다고 가정하지 마십시오 (Tom Lane)

    GSSAPI 사양은 문자열 포인터 및 길이를 제공합니다. 실제로 문자열 이후 다음 바이트는 일반적으로 0이므로 이전 코딩이 실제로 실패하지 않았다는 것 같습니다.

  • MSVC (Michael Paquier)에서 GSSAPI를 사용하여 건물 활성화

    현대 kerberos 빌드로 다양한 비 호환성을 수정합니다.

  • MSVC 빌드에서 포함-with-pgport|PG_CONFIG, 지정된 경우 (Andrew Dunstan)