릴리스 토토 사이트

PostgreSQL

E.15. 릴리스 12.8

출시 날짜 :2021-08-12

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

E.15.1. 버전 12.8으로의 마이그레이션

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

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

E.15.2. 변화

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

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

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

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

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

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

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

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

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

    또한 a의 암시 적 커서의 스크롤 모드를 강제로 강제로하지 마십시오.pl/pgsql쿼리 루프, 배치 내 커밋 중에 그러한 커서를 지속시킬 때 이러한 유형의 문제를 피하려면

  • 거부SELECT SELECT ... 업데이트 용 세트 (())를 그룹화하여 그룹(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)를 추가하거나 제거 할 때 확장자 잠그십시오§

    이전 코딩 허용변경 확장 추가/드롭동시에 발생하려면드롭 확장, 충돌 또는 부패한 카탈로그 항목으로 이어지는 것.

  • 수정구독 변경빈 슬롯 이름 (japin li)을 거부하려면§

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

  • 생성 된 쿼리의 별칭 충돌을 피하십시오상쾌한 구체화 된보기 동시에(Tom Lane, Bharath Rupireddy)§ §

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

  • 수정거래 준비상충되는 세션 연장 및 거래 리포 스팬 잠금 장치 (Tom Lane)를 올바르게 확인하려면§

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

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

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

    12587_12665삭제 소유.

  • 전체 열 변수를 허용하지 않습니다생성Expressions (Tom Lane)§

    전체 열 변수의 사용은 생성 된 열이 그 자체에 의존 할 수 없다는 규칙을 명확하게 위반하므로 그러한 경우는 잘 정의 된 동작이 없습니다. 실제 행동에는 종종 충돌이 포함되었습니다.

  • 사용 수정Tableoidin생성Expressions (Tom Lane)§

    일부 코드 경로는이 시스템 열에 유효한 값을 제공하지 못했습니다생성표현.

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

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

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

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

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

  • Walsenders Make Walsenders에서 최신 복제 명령을 표시pg_stat_activity(Tom Lane)§

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

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

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

  • 상속 테이블의 어린이 인 일반 테이블과 관련된 쿼리의 실수 계획 (Amit Langote)§

    업데이트 선택및 관련 명령은 어설 션 실패 또는에 실패합니다.정크 열을 찾을 수 없습니다그러한 경우 오류.

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

    좁은 조건에서 대기는 잘못된 WAL 타임 라인을 따르려고 노력할 수 토토 사이트.

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

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

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

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

  • 트랜잭션 커밋 그룹 (Amit Kapila)의 구성원이되지 않은 후 공유 상태를 정확하게 지우십시오.§

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

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

  • 병렬 BTREE INDEX 빌드의 정렬 단계에 대한 진행보고 개선 (Matthias van de Meent)§

  • 복제 프로토콜 위반에 대한 점검 개선 (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 버전에는 열이 포함되어 있지 않지만 운영자 클래스의 버그에 대한 좋은 방어처럼 보이기 때문에이 방지 방지 수정 방지 수정 사항을 다시 배치합니다..

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

  • 원인을 유발할 수있는 비 초기의 변수 버그 수정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)§ §

  • 수정Contrib/Postgres_FDW생성 된 열 (Etsuro Fujita)과 유용하게 작업하려면§

    postgres_fdw이제 외국 테이블의 생성 된 열이 원격 테이블의 생성 된 열을 나타내는 한 생성 된 열로 합리적으로 작동합니다.외국 스키마 가져 오기이제 기본적으로 생성 된 열을 그런 식으로 가져옵니다.

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

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

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

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

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

  • 수정pl/pythonPython 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-BinInstall-World-bin(Andrew Dunstan)§ §

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

  • 탭 테스트에 대한 규칙 만들기 (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)§ §