출시 날짜 :2018-05-10
이 릴리스에는 10.3의 다양한 토토 캔 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조젠 토토 PostgreSQL : 문서 : 10 : E.24. 릴리스 10.
10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 사용하는 경우adminpack
Extension, 아래의 첫 번째 ChangeLog 항목에 따라 업데이트해야합니다.
또한 아래 두 번째 및 세 번째 변경 항목에 언급 된 기능 표시 실수가 귀하에게 영향을 미치는 경우 데이터베이스 카탈로그를 토토 캔하기위한 단계를 수행하고 싶습니다.
또한 10.3 이전 버전에서 업그레이드하는 경우 참조스포츠 토토 사이트 PostgreSQL : 문서 : 10 : E.21. 릴리스 10.3.
공개 실행 특권 제거Contrib/Adminpack
'spg_logfile_rotate ()
기능 (Stephen Frost)
pg_logfile_rotate ()
핵심 함수의 감가 상각 래퍼입니다pg_rotate_logfile ()
. 해당 기능이 하드 코딩 된 슈퍼 유저 확인보다는 액세스 제어를위한 SQL 권한에 의존하도록 변경되면pg_logfile_rotate ()
또한 업데이트되어야했지만 이에 대한 필요성이 놓쳤습니다. 따라서, ifadminpack
설치됩니다. 모든 사용자가 로그 파일 회전을 요청하여 경미한 보안 문제를 일으킬 수 있습니다.
이 업데이트를 설치 한 후 관리자는 업데이트해야합니다adminpack
공연Alter Extension AdminPack 업데이트
각 데이터베이스에서adminpack
가 설치되었습니다. (CVE-2018-1115)
몇 가지 내장 기능 (Thomas Munro, Tom Lane)에서 잘못된 변동성 표시 토토 캔
기능query_to_xml
, cursor_to_xml
, cursor_to_xmlschema
, query_to_xmlschema
및query_to_xml_and_xmlschema
휘발성 작업을 포함 할 수있는 사용자가 공급 한 쿼리를 실행하기 때문에 휘발성으로 표시해야합니다. 그들은 쿼리 최적화가 잘못된 위험을 초래하지 않았습니다. 이는 초기 카탈로그 데이터를 토토 캔하여 새 설치를 위해 수리되었지만 기존 설치에는 잘못된 표시가 계속 포함됩니다. 이러한 기능을 실질적으로 사용하면 위험이 거의없는 것처럼 보이지만 문제가 발생하면 이러한 기능을 수동으로 업데이트하여 토토 캔할 수 있습니다. 'PG_PROC
항목, 예를 들어ALTER 기능 PG_CATALOG.QUERY_TO_XML (텍스트, 부울, 부울, 텍스트) 휘발성
. (설치의 각 데이터베이스에서 수행해야합니다.) 또 다른 옵션은입니다.pg_upgrade토토 캔 된 초기 데이터를 포함하는 버전의 데이터베이스.
몇 가지 내장 함수 (Thomas Munro, Tom Lane)에서 잘못된 평행 안전 마크 토토 캔
함수brin_summarize_new_values
, brin_summarize_range
, brin_desummarize_range
, gin_clean_pending_list
, cursor_to_xml
, cursor_to_xmlschema
, TS_REWRITE
, TS_STAT
, binary_upgrade_create_empty_extension
및pg_import_system_collations
병렬 불일치로 표시되어야합니다. 일부는 데이터베이스 토토 캔을 직접 수행하고 다른 일부는 사용자가 제공 한 쿼리를 실행하기 때문에 다른 일부를 수행하기 때문입니다. 대신 병렬 제한으로 표시되어 예상치 못한 쿼리 오류가 발생할 위험이 있습니다. 이는 초기 카탈로그 데이터를 토토 캔하여 새 설치를 위해 수리되었지만 기존 설치에는 잘못된 표시가 계속 포함됩니다. 이러한 기능을 실질적으로 사용하면이 아니라면force_parallel_mode
가 켜져 있습니다. 문제가 발생하면 이러한 기능을 수동으로 업데이트하여 토토 캔할 수 있습니다. 'PG_PROC
항목, 예를 들어ALTER 기능 PG_CATALOG.BRIN_SUMMARIZE_NEW_VALUUES (regclass) 병렬 안전하지 않은
. (설치의 각 데이터베이스에서 수행해야합니다.) 또 다른 옵션은입니다.pg_upgrade토토 캔 된 초기 데이터를 포함하는 버전의 데이터베이스.
재사용 토스트 가치 OID는 죽었지 만 예정된 예가 적 토스트 항목 (Pavan Deolasee)과 일치하는 OID를 피하십시오.
일단 OID 카운터가 포장되면 OID가 동일한 토스트 테이블에서 이전에 삭제 된 항목과 일치하는 토스트 값을 할당 할 수 있습니다. 그 항목이 아직 진공 청소기가 없으면“예기치 않은 청크 번호 0 (예상 1) 토스트 값의 경우nnnnn
”오류, 죽은 항목이 제거 될 때까지 지속되는 오류진공
. 새 토스트 항목을 만들 때 그러한 OID를 선택하지 않음으로써 토토 캔하십시오.
올바르게 시행check
동안 개별 파티션에 대한 제약 조건COPY
분할 된 테이블 (Etsuro Fujita)
이전에, 전체적으로 분할 된 테이블에 대해 선언 된 제약 조건 만 확인되었습니다.
수락true
andfalse
파티션 바운드 값으로 (Amit Langote)
이전에는 부울 파티션 열에 대해 문자열-문자 값 만 허용되었습니다. 하지만pg_dump그러한 값과 같은 값을 인쇄 할 것입니다true
또는거짓
, 덤프/재 장전이 발생합니다.
파티션 키 비교 기능을위한 메모리 관리 토토 캔 (Álvaro Herrera, Amit Langote)
파티션 키에 사용자 정의 연산자 클래스를 사용할 때이 오류가 충돌로 이어질 수 있습니다.
쿼리가 분할 된 테이블의 여러 파티션에 튜플을 삽입 할 때 가능한 충돌 토토 캔 및 해당 파티션에는 동일한 행 유형이 없습니다 (Etsuro Fujita, Amit Langote)
변경분석
의 업데이트 알고리즘PG_CLASS
.Reltuples
(David Gould)
이전에, 실제로 스캔하지 않은 페이지분석
는 오래된 튜플 밀도를 유지하는 것으로 가정되었습니다. 큰 테이블에서분석
페이지의 작은 부분 만 샘플링하면 전체 튜플 밀도 추정치가 크게 변할 수 없으므로Reltuples
테이블의 물리적 크기의 변화에 거의 비례하여 변경 될 것입니다 (Relpages
) 실제로 테이블에서 무슨 일이 있었는지에 관계없이. 이것은 결과로 관찰되었습니다Reltuples
자가 경비를 효과적으로 차단하기 위해 현실보다 훨씬 커지는 것. 고치려면분석
의 샘플은 통계적으로 편견이없는 표 샘플이며 (그대로) 해당 페이지 내에서 관찰 된 밀도를 전체 테이블에 외삽하십시오.
테이블 속성 세트에 확장 상태 객체 포함테이블 작성 ... 좋아요 ... 모두 포함
(David Rowley)
또한 추가통계 포함
옵션, 이런 일이 발생하는지에 대한 더 미세한 통제를 허용합니다.
토토 캔테이블 생성 ... 좋아요
withbigint
Identity Columns (Peter Eisentraut)
플랫폼에서Long
는 32 비트 (64 비트 창과 대부분의 32 비트 기계 포함)입니다. 복사 된 시퀀스 매개 변수는 32 비트로 잘릴 것입니다.
동시 교착 상태를 피하십시오동시에 색인 생성
아래에서 실행되는 명령SERIALIZALE
또는반복 가능한 읽기
트랜잭션 격리 (Tom Lane)
가능한 느린 실행 토토 캔동시에 구체화 된보기
(Thomas Munro)
토토 캔업데이트/삭제 ... 현재 위치
참조 된 커서가 인덱스 전용 스캔 계획 (Yugo Nagata, Tom Lane)을 사용할 때 실패하지 않음
파라미터 화 된 경로로 밀려난 조인 조항의 잘못된 계획 토토 캔 (Andrew Gierth, Tom Lane)
이 오류는 조건을 A로 잘못 분류 할 수 있습니다“결합 필터”평원이어야 할 때 외부 조인의 경우“필터”조건, 결합 출력이 잘못되었습니다.
동일한 테이블 열이 여러 인덱스 열에 나타날 때 인덱스 전용 스캔 계획의 잘못된 생성 토토 캔 및 해당 인덱스 열 중 일부 만 열 값 (Kyotaro Horiguchi)을 반환 할 수있는 연산자 클래스를 사용합니다.
오해 최적화 토토 캔check
최상위 수준의 하위 클레어가있는 제약 조건및
/또는
조건 (Tom Lane, Dean Rasheed)
예를 들어, 쿼리에서 제외되어서는 안되는 아동 테이블을 제외 할 수있는 제약 제외가 허용 될 수 있습니다..
쿼리에 다중 일 때 플래너 충돌 방지그룹화 세트
일부에서 더블 프리로 인한 집행자 충돌 토토 캔그룹화 세트
사용법 (Peter Geoghegan)
전이 테이블에서 자체 요인의 미성분 토토 캔 (Thomas Munro)
테이블 재 작성 이벤트 트리거가 그러한 방아쇠를 호출 할 수있는 명령과 동시에 추가되는 경우 충돌을 피하십시오 (Álvaro Herrera, Andrew Gierth, Tom Lane)
쿼리 캔셀 또는 세션 종료 인터럽트가 준비된 트랜잭션 (Stas Kelvich)이 발생하는 경우 고장을 피하십시오.
반복적으로 실행 된 해시 조인 (Tom Lane)에서 쿼리 리 플라이 스팬 메모리 누출 토토 캔
가시성 맵 버퍼 핀 (Amit Kapila) 가능한 누출 또는 이중 무료 토토 캔 가능
가시적으로 페이지를 가시적으로 표시하지 않으면 (Dan Wood, Pavan Deolasee, Álvaro Herrera)
이것은 일부 튜플이 잠겨 있지만 (삭제되지는 않았지만) 발생할 수 있습니다. 쿼리는 여전히 올바르게 작동하지만 진공은 일반적으로 그러한 페이지를 무시할 것입니다. 최근 릴리스에서 이것은 결국과 같은 오류가 발생합니다.“발견 된 다중 공장nnnnn
relminmxid 이전부터nnnnn
”.
지나치게 엄격한 산성 체크인 토토 캔heap_prepare_freeze_tuple
(Álvaro Herrera)
이것은 잘못 될 수 있습니다“커밋 된 xmax 동결”데이터베이스의 실패pg_upgrade'D에서 9.2 이상에서.
C-Coded 이전의 행 트리거 트리거가 반환 될 때 끊임없이 매달린 포인터 피해 방지“old”튜플 (Rushabh Lathia)
Autovacuum Worker Scheduling (Jeff Janes) 중 잠금 감소
이전 행동은 많은 테이블이있는 데이터베이스에서 잠재적 인 작업자 동시성의 급격한 손실을 일으켰습니다.
복사하는 동안 클라이언트 호스트 이름이 복사되도록pg_stat_activity
로컬 메모리에 대한 데이터 (Edmund Horner)
이전에 로컬 스냅 샷에는 공유 메모리에 대한 포인터가 포함되어있어 클라이언트 호스트 이름 열이 기존 세션이 분리 된 경우 예기치 않게 변경할 수 있습니다..
핸들pg_stat_activity
보조 프로세스에 대한 정보 (Edmund Horner)
theapplication_name
, client_hostname
및쿼리
필드는 그러한 프로세스에 대한 잘못된 데이터를 표시 할 수 있습니다.
여러 복합 부착의 잘못된 처리 토토 캔Ispell
Dictionaries (Arthur Zakirov)
텍스트 열 (Tom Lane)의 SP-Gist 인덱스에서 Collation-Aware 검색 (즉, 불평등 연산자를 사용하는 색인) 토토 캔
이러한 검색은 대부분의 비 C 지역에서 잘못된 행 세트를 반환합니다.
Traversal 값 (Anton Dignös)을 사용하는 SP-Gist 연산자 클래스를 사용한 쿼리 리포 스팬 메모리 누출 방지
SP-Gist 지수 (Tomas Vondra)의 초기 빌드 중에 인덱스 튜플 수를 올바르게 계산합니다.
이전에, 튜플 카운트는 기본 테이블의 것과 동일하다고보고되었으며, 이는 인덱스가 부분적이면 잘못된 것입니다.
Gist Index (Andrey Borodin)의 진공 청소기 동안 인덱스 튜플 수를 올바르게 계산합니다.
이전에는 힙 튜플의 추정 수를보고했는데, 이는 부정확 할 수 있으며 색인이 부분적이면 확실히 잘못되었습니다.
스트리밍 대기가 WAL 연속 기록 (Kyotaro Horiguchi)에 갇히는 코너 케이스 토토 캔
논리 디코딩에서 Walsender가 다시 시작될 때 WAL 데이터의 이중 처리를 피하십시오 (Craig Ringer)
로컬 서버 (Masahiko Sawada)간에 유형 OID가 일치한다고 가정하지 않도록 논리적 복제를 토토 캔합니다.
허용Scalarltsel
andScalargtsel
비 코어 데이터 유형 (Tomas Vondra)에 사용됩니다.
감소libpq의 메모리 소비가 많은 양의 쿼리 출력이 수집 된 후 서버 오류 가보고 된 경우 (Tom Lane)
오류 메시지를 처리하지 않고 이전의 이전 출력을 버립니다. 일부 플랫폼, 특히 Linux에서는 응용 프로그램의 후속 메모리 풋 프린트에 차이를 만들 수 있습니다.
이중 무료 충돌 토토 캔ECPG(Patrick Krecker, Jeevan Ladhe)
고정ECPG처리하려면긴 긴 int
MSVC 빌드 (Michael Meskes, Andrew Gierth)의 변수가 올바르게 변수
덤프에서 List-Valued GUC 변수에 대한 값의 잘못 인용 토토 캔 (Michael Paquier, Tom Lane)
thelocal_preload_libraries
, session_preload_libraries
, shared_preload_libraries
및temp_tablespaces
변수가 올바르게 인용되지 않았습니다pg_dump출력. 이 변수의 설정이에 나타나면 문제가 발생합니다.함수 생성 ... 세트
또는데이터베이스/역할 변경 ... 세트
클로즈.
토토 캔PG_RECVLOGICALPre-V10에 실패하지 않음postgresql서버 (Michael Paquier)
이전 토토 캔이 발생했습니다pg_recvlogical서버 버전에 관계없이 명령을 발행하려면 v10 및 이후 서버에만 발행해야합니다.
pg_rewind실행 중에 소스 서버에서 삭제 된 경우 대상 서버에서 파일을 삭제합니다 (Takayuki Tsunakawa)
이 작업을 수행하지 못하면 대상에 대한 데이터 불일치가 발생할 수 있습니다. 특히 문제의 파일이 WAL 세그먼트 인 경우
토토 캔pg_rewind비 디폴트 테이블 스페이스의 테이블을 올바르게 처리하려면 (Takayuki Tsunakawa)
오버 플로우 처리 토토 캔PL/PGSQLIntegerfor
루프 (Tom Lane)
이전 코딩은 일부 비 GCC 컴파일러에서 루프 변수의 오버플로를 감지하지 못해 무한 루프로 이어집니다.
조정pl/pythonPython 3.7 (Peter Eisentraut)에 따라 전달되는 회귀 테스트
지원 테스트pl/python및 Python 3 및 MSVC (Andrew Dunstan)로 구축 할 때 관련 모듈
초기 빌드의 오류 토토 캔Contrib/Bloom
인덱스 (Tomas Vondra, Tom Lane)
인덱스에서 테이블의 마지막 튜플을 생략 할 수 있습니다. 부분 색인 인 경우 인덱스 튜플의 수를 올바르게 계산하십시오.
내부 이름 바꾸기b64_encode
andB64_DECODE
Solaris와의 충돌을 피하기위한 기능 11.4 내장 기능 (Rainer Orth)
Iana Tzcode Release 2018E (Tom Lane)와 Timezone 라이브러리 사본을 동기화합니다.
이것은를 토토 캔합니다.ZICTimeZone Data Compiler 부정적인 일광 절약 오프셋에 대처합니다. 동안PostgreSQL프로젝트는 그러한 시간대 데이터를 즉시 배송하지 않습니다.ZICIANA에서 직접 얻은 시간대 데이터와 함께 사용될 수 있으므로 업데이트가 현명 해 보입니다ZICnow.
시간대 데이터 파일 업데이트TZDATA팔레스타인과 남극 대륙 (케이시 스테이션)의 DST 법률 변경에 대한 2018D, 포르투갈과 식민지, Enderbury, Jamaica, Turks & Caicos Islands 및 Uruguay의 역사적 교정을위한 2018D 출시.