출시 날짜 :2019-08-08
이 무지개 토토에는 10.9의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.
10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 10.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.18.
기능적 캐스트 구문을 사용할 때 스키마 자격을 임시 유형으로 캐스팅하려면 스키마 자격이 필요합니다 (Noah Misch)
임시 스키마를 명시 적으로 지정하기 위해 임시 기능의 호출이 오랫동안 필요했습니다.pg_temp.
. 기능 표기법을 사용하여 임시 유형으로 캐스팅하기 위해서도 필요합니다.func_name
(args
)pg_temp.
. 그렇지 않으면 임시 객체를 사용하여 함수 호출을 캡처하여 CVE-2007-2138에서 차단 한 것과 거의 같은 방식으로 권한 에스컬레이션을 허용 할 수 있습니다.type_name
(arg
)
실패 수정ALTER 테이블 ... ALTER 열 유형
한 명령에서 여러 열 유형을 변경할 때 (Tom Lane)
이것은 가장 최근의 사소한 무지개 토토에서 소개 된 회귀를 수정합니다. 변경된 열을 사용한 인덱스는 올바르게 처리되지 않았으므로 동안 이상한 실패로 이어집니다.Alter Table
.
파티션 삭제 키 열 (Tom Lane) 방지에 종속성을 설치합니다.
Alter Table ... 드롭 열
파티션 키 열인 열을 삭제하는 것을 거부합니다. 그러나 간접 낙하 (예 : 키 열의 데이터 유형을 떨어 뜨리는 캐스케이드와 같은)는 그러한 점검이 없었으므로 키 열이 삭제 될 수 있습니다.
이 수정 사항이 추가pg_depender
열쇠 열이 키 열이 아니라 키 열이 아니라 전체 분할 된 테이블 전체가 삭제되면 삭제되는 항목. 그러나 이러한 항목은 분할 된 테이블이 만들어 질 때만 생성됩니다.
최적화하지 마십시오그룹 by
테이블이 상속 부모 (David Rowley) 인 경우 열
일반적으로 테이블의 기본 키 열이 포함 된 경우그룹 by
, 기본 키 열이 그룹을 독특하게 만들기에 충분하기 때문에 다른 그룹화 열을 삭제하는 것이 안전합니다. 그러나 쿼리가 상속 자식 테이블을 읽는 경우이 규칙이 작동하지 않습니다.
일부 쿼리에 불필요한 정렬 단계를 사용하지 마십시오그룹화 세트
(Andrew Gierth, Richard Guo)
트리거 전환 테이블에 액세스하지 못하는 수정평가 플랜 쿠아
Recks (Alex Aktsipetrov)
동시 업데이트가있을 때 전환 테이블에 의존하는 트리거.
외국 키 제약 조건 (Tom Lane)을 재건 할 때 멀티 컬럼 외국 열쇠의 잘못된 취급 수정
Alter Table
키의 모든 열이 같은 유형이 아닌 경우 외국 키의 재평가가 필요한지 여부에 대한 잘못된 결정을 내릴 수 있습니다. 오류는 항상 보수적 인 방향에 있었을 것 같습니다. 불필요하게 재사용하고 있습니다.
상속 트리에 대한 확장 된 통계를 구축하지 마십시오 (Tomas Vondra)
이것은 a를 피합니다“튜플은 이미 자체적으로 업데이트 됨”오류 중분석
.
튜플 잠금을 업그레이드 할 때 가짜 교착 상태 오류를 피하십시오 (Oleksii Kliukin)
트랜잭션 T1이 튜플 레벨 잠금 장치를 해제하기 위해 트랜잭션 T1이 기다리고 있고 T1은 잠금 장치를 더 높은 수준으로 업그레이드하면 대기 트랜잭션 중 가짜 교착 상태가 T1이 끝날 때보고 될 수 있습니다..
여러 병렬 작업자 프로세스와 관련된 교착 상태를 해결하지 못하는 수정 (Rui Hai Jiang)
이 버그가 비 관절 쿼리로 도달 할 수 있는지는 확실하지 않지만, 그렇지 않으면 다른 분리 가능한 교착 상태에 관련된 쿼리가 취소 될 때까지 차단됩니다..
날짜 범위의 잘못된 표준화 방지Infinity
엔드 포인트 (Laurenz Albe)
엔드 포인트가 무한한 경우 엔드 포인트 값을 증가 시키거나 줄임으로써 개방 범위를 닫힌 범위 또는 그 반대로 변환하는 것이 잘못되었습니다. 그러니 그러한 경우에는 범위를 내버려 두십시오.
매우 큰 변환 할 때 분수 숫자 손실 수정Money
값 to숫자
(Tom Lane)
MIPS CPU에 대한 Spinlock Assembly 코드를 수정하여 MIPS R6 (Yunqiang SU)에서 작동합니다.
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/PasswordCheck
다른 사용자와 공존하려면check_password_hook
(Michael Paquier)
수정Contrib/Sepgsql
최근 Selinux 릴리스 (Mike Palmiotto)에서 작업하기위한 테스트
안정성 향상SRC/TEST/Recovery
회귀 테스트 (Michael Paquier)
감소Stderr출력pg_upgrade의 테스트 스크립트 (Tom Lane)
빌드 디렉토리가 뿌리가 아닌 MSYS 마운트 포인트 (NOAH MISCH)에있는 경우 MSYS Perl과 함께 작동하도록 테스트를 수정합니다.
Microsoft Visual Studio 2019 (Haribabu Kommi)를 사용하여 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는이 인공 구역을 설정하여“약어”Like로컬 타임 존을 설정해야합니다-ZIC 설명서 페이지 참조
. TZDB 데이터베이스 쇼의 최신 버전-00
대신, 일부 플랫폼은 데이터를 변경하여 역사적 문구 중 하나 또는 다른 문구를 표시합니다. 현대 약어를 사용하는 경우에만이 영역을 표시하십시오.
IANA TZCODE RELEASE 2019B (Tom Lane)와 시간대 라이브러리 사본을 동기화합니다.
이것은 지원을 추가합니다ZIC의 새로운-B 슬림
설치된 영역 파일의 크기를 줄이는 옵션. 우리는 현재 그것을 사용하지 않지만 앞으로 그것을 가능하게 할 수 있습니다.
시간대 데이터 파일 업데이트TZDATA브라질의 DST 법률 변경을위한 2019B, 홍콩, 이탈리아 및 팔레스타인의 역사적 교정을위한 2019B 출시.