출시 날짜 :2019-08-08
이 범퍼카 토토에는 11.4의 다양한 수정 사항이 포함되어 있습니다. Major Release 11의 새로운 기능에 대한 정보는 참조섹션 E.23.
11.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 11.1 이전 버전에서 업그레이드하는 경우 참조섹션 E.22.
기능적 캐스트 구문을 사용할 때 스키마 자격을 임시 유형으로 캐스팅하려면 스키마 자격이 필요합니다
임시 스키마를 명시 적으로 지정하기 위해 임시 기능의 호출이 오랫동안 필요했습니다.pg_temp.
. 기능 표기법을 사용하여 임시 유형으로 캐스팅하기 위해서도 필요합니다.func_name
(args
)pg_temp.
. 그렇지 않으면 임시 객체를 사용하여 함수 호출을 캡처하여 CVE-2007-2138에서 차단 한 것과 거의 같은 방식으로 권한 에스컬레이션을 허용 할 수 있습니다.type_name
(arg
)
교차 유형 비교가 필요한 해시 하위 플랜의 실행 수정 (Tom Lane, Andreas Seltenreich)
해시 서브 플랜은 해시 테이블의 항목을 비교하기 위해 Outer Query의 원래 비교 연산자를 사용했습니다. 해시 테이블 항목이 하위 쿼리의 출력 유형이기 때문에 해당 연산자가 크로스 타입 인 범퍼카 토토 잘못된 것입니다.PostgreSQL,이 실수는 64 비트 머신에서 거의 무해한 것처럼 보이지만 32 비트 머신에서 서버 메모리의 충돌 또는 무단으로 공개 할 수 있습니다. 확장자는 더 큰 위험을 야기하는 해시블 크로스 형 연산자를 제공 할 수 있습니다.
고장 실패ALTER 테이블 ... ALTER 열 유형
한 명령에서 여러 열의 유형을 변경할 때 (Tom Lane)
이것은 가장 최근의 사소한 범퍼카 토토에 도입 된 회귀를 수정합니다. 변경된 열을 사용한 인덱스는 올바르게 처리되지 않았으므로Alter Table
.
아동 파티션 (Álvaro Herrera)에 보류중인 트리거 이벤트가있는 범퍼카 토토 분할 된 테이블 트리거 삭제 방지
이것은 트리거에 의해 구현되기 때문에 외국의 주요 제약 조건에 특히 적용됩니다.
파티션 된 테이블에서 파티션 중 하나 (Patrick McHardy)로 트리거 정의를 복사 할 때 사용자 지정 트리거 인수 포함.
파티션 삭제 키 열 (Tom Lane)을 방지하려면 종속성을 설치합니다.
Alter Table ... 드롭 열
파티션 키 열인 열을 삭제하는 것을 거부합니다. 그러나 간접 낙하 (예 : 키 열의 데이터 유형을 떨어 뜨리는 캐스케이드와 같은)는 그러한 점검이 없었으므로 키 열이 삭제 될 수 있습니다.
이 수정 사항이 추가pg_depend
열쇠 열이 아니라 키 열이 핵심 열이 제거되면 키 열이 아니라 전체 분할 된 테이블 전체가 삭제 될 것입니다. 그러나 이러한 항목은 분할 된 테이블이 만들어 질 때만 생성됩니다.
파티션 된 테이블과 기본 파티션 (Amit Langote) 사이에 열 번호가 올바르게 매핑되어 있는지 확인하십시오.
예를 들어 한 테이블에 열이 삭제 된 범퍼카 토토 매핑이 정확히 일대일이 아닌 범퍼카 토토 일부 작업이 잘못 행동했습니다..
분할 된 테이블에서 인덱스를 생성 할 때 외국 테이블 인 파티션을 무시합니다 (Álvaro Herrera)
이전에는 외국 테이블 파티션을 만날 때 오류가 발생했지만 도움이되지 않으며 실제 문제로부터 보호하지 않습니다.
더 많은 범퍼카 토토 (Yuzuko Hosoya)에서 파티션 된 테이블의 기본 파티션 (즉, 쓸모없는 스캔을 피하십시오)
여러 개의 파티션 키 열이있을 때 파티션을 잘라내는 실패 수정부울
타입 (David Rowley)
최적화하지 마십시오그룹 by
테이블이 상속 부모 (David Rowley) 인 범퍼카 토토 열
일반적으로 테이블의 1 차 키 열이 포함 된 범퍼카 토토그룹 by
, 기본 키 열이 그룹을 독특하게 만들기에 충분하기 때문에 다른 그룹화 열을 삭제하는 것이 안전합니다. 그러나 쿼리가 상속 자식 테이블을 읽는 범퍼카 토토이 규칙이 작동하지 않습니다.
반 조인 쿼리에 대한 평행 해시의 잘못 사용 피하십시오 (Thomas Munro)
이 오류는 일부에서 결과 행이 중복되었습니다존재
쿼리.
일부 쿼리에 불필요한 정렬 단계를 사용하지 마십시오그룹화 세트
(Andrew Gierth, Richard Guo)
Planner의 인덱스 엔드 포인트 프로브의 가능한 실패 수정 (Tom Lane)
최근에 만들어진 인덱스를 사용하여 열의 최소 또는 최대 값을 결정할 때 플래너는 실제로 엔드 포인트 값을 포함하지 않는 최근에 죽은 튜플을 선택할 수 있습니다. 최악의 범퍼카 토토 튜플은 널을 함유하여 눈에 보이는 오류가 발생할 수 있습니다“인덱스에서 예상치 못한 널 값을 찾았습니다”; 우리는 잘못된 가치를 사용하여 계획 품질을 저하시킬 가능성이 높습니다.
트리거 전환 테이블에 액세스하지 못하는 수정평가 플랜 쿠아
다시 확인 (Alex Aktsipetrov)
전환 테이블에 의존하는 트리거는 때때로 동시 업데이트가있을 때 실패했습니다.
외국 키 제약 조건 (Tom Lane)을 재건 할 때 멀티 컬럼 외국 열쇠의 잘못 처리 수정
Alter Table
키의 모든 열이 같은 유형이 아닌 범퍼카 토토 외국 키의 재평가가 필요한지 여부에 대한 잘못된 결정을 내릴 수 있습니다. 오류는 항상 보수적 인 방향에 있었을 것 같습니다. 불필요하게 재사용하고 있습니다.
상속 트리에 대한 확장 된 통계를 구축하지 마십시오 (Tomas Vondra)
이것은 a를 피합니다“튜플은 이미 self”오류 중분석
.
튜플 잠금 장치를 업그레이드 할 때 가짜 교착 상태 오류를 피하십시오 (Oleksii Kliukin)
트랜잭션 T1이 튜플 레벨 잠금 장치를 해제하기 위해 트랜잭션 T1이 기다리고 있고 T1은 잠금 장치를 더 높은 수준으로 업그레이드하면 대기 트랜잭션 중 가짜 교착 상태가 T1이 끝날 때보고 될 수 있습니다..
여러 병렬 작업자 프로세스와 관련된 교착 상태를 해결하지 못하는 수정 (Rui Hai Jiang)
이 버그가 비 관절 쿼리로 도달 할 수 있는지는 확실하지 않지만, 그렇지 않으면 다른 분리 가능한 교착 상태에 관여하는 쿼리가 취소 될 때까지 차단됩니다..
날짜 범위의 잘못된 표준화 방지Infinity
엔드 포인트 (Laurenz Albe)
엔드 포인트가 무한한 범퍼카 토토 엔드 포인트 값을 증가 시키거나 줄임으로써 개방 범위를 닫힌 범위 또는 그 반대로 변환하는 것이 부정확합니다. 그러니 그러한 범퍼카 토토에는 범위를 내버려 두십시오.
매우 큰 변환 할 때 분수 숫자의 손실 수정Money
값으로숫자
(Tom Lane)
인쇄 수정btree_meta_cleanup
Wal Records (Michael Paquier)
버전 2 BTREE METAPAGES (Peter Geoghegan)의 잘못된 처리로 인한 어설 션 실패 방지
MIPS R6 (Yunqiang SU)에서 작동하도록 MIPS CPU의 스핀 락 어셈블리 코드 수정
PL/PGSQL 함수에서 반환 된 레코드 또는 행 값이 함수의 선언 된 복합 유형 (Tom Lane)에 표시되어 있는지 확인하십시오.
결과가 테이블에 직접 저장되는 범퍼카 토토 문제를 피합니다.
makelibpq캐리지 리턴 무시 (\ r
) 연결 서비스 파일 (Tom Lane, Michael Paquier)
일부 코너 케이스에서는 Wind
inPSQL, 부정확 한 탭 완료 옵션을 제공하지 마십시오SET
(Tom Lane)변수
=
작은 메모리 누출 수정PSQL's\ d
명령 (Tom Lane)
수정pg_dump맞춤 운영자 클래스가 올바른 순서로 덤프되도록 (Tom Lane)
사용자 정의 OPCLASS가 사용자 정의 범위 유형의 하위 유형 OPClass 인 범퍼카 토토 관련 객체가 잘못된 순서로 덤프되어 불안정한 덤프를 생성했습니다. (OPCLASS 의존성을 처리하지 못하는 근본적인 실패는 다른 범퍼카 토토에도 나타날 수 있지만 이것은 유일한 알려진 범퍼카 토토입니다.)
가능한 잠금 수정pgbench사용시-r
옵션 (Fabien Coelho)
신뢰성 향상Contrib/Amcheck
의 색인 검증 (Peter Geoghegan)
Perl의 취급 수정undef
값Contrib/JSONB_PLPERL
(Ivan Panchenko)
수정Contrib/PasswordCheck
다른 사용자와 공존하려면check_password_hook
(Michael Paquier)
수정Contrib/Sepgsql
최근 Selinux 릴리스 (Mike Palmiotto)에서 작업하기위한 테스트
안정성 향상src/test/kerberos
andsrc/test/ldap
회귀 테스트 (Thomas Munro, Tom Lane)
안정성 향상src/test/recovery
회귀 테스트 (Michael Paquier)
감소Stderr출력pg_upgrade의 테스트 스크립트 (Tom Lane)
수정pgbenchWindows에서 작동하는 회귀 테스트 (Fabien Coelho)
빌드 디렉토리가 뿌리가 아닌 MSYS 마운트 포인트 (NOAH MISCH)에있는 경우 MSYS Perl과 함께 작동하도록 테스트를 수정합니다.
Microsoft Visual Studio 2019 (Haribabu Kommi)를 사용하여 Building Postgres 지원 지원
Visual Studio Builds, HonorWindowsSDKversion
환경 변수, 그것이 설정된 경우 (peifeng qiu)
이것은 일부 구성에서 빌드 고장을 수정합니다.
Support OpenSSL 1.1.0 및 Visual Studio Builds에서 최신 정보 (Juan José Santamaría Flecha, Michael Paquier)
허용make전달 옵션gmakeGNU가 아닌 사람이 최상위 수준에서 호출 될 때 (Thomas Munro)
선택을 피하십시오LocalTime
또는posixrules
asTimeZone
동안initdb(Tom Lane)
범퍼카 토토에 따라initdb이 인공 지대 이름 중 하나를 선택할 것입니다“Real”영역 이름. 이 두 가지보다 C 라이브러리의 시간대 동작에 대한 다른 일치를 선호합니다.
조정PG_TIMEZONE_NAMES
표시보기공장
시간대가 짧은 약어가있는 경우에만 시간대 (Tom Lane)
역사적으로, Iana는이 인공 지대를 a.“약어”좋아요현지 시간대를 설정해야합니다. ZIC 설명서 페이지 참조
. TZDB 데이터베이스 쇼의 최신 버전-00
대신 일부 플랫폼은 데이터를 변경하여 역사적 문구 중 하나 또는 다른 문구를 표시합니다. 현대 약어를 사용하는 경우에만이 영역을 표시하십시오.
Iana Tzcode Release 2019b (Tom Lane)와 시간대 라이브러리 사본을 동기화합니다.
이것은 지원을 추가합니다ZIC의 새로운-B 슬림
설치된 영역 파일의 크기를 줄이는 옵션. 우리는 현재 그것을 사용하지 않지만 앞으로 그것을 가능하게 할 수 있습니다.
시간대 데이터 파일 업데이트TZDATA브라질의 DST 법률 변경을위한 2019B, 홍콩, 이탈리아 및 팔레스타인의 역사적 교정을위한 2019b