출시 날짜 :2019-02-14
이 윈 토토에는 10.6의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.
10.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 10.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.18.
기본적으로, 이후에 다시 시도하는 대신 공황fsync ()
실패, 가능한 데이터 손상을 피하기 위해 (Craig Ringer, Thomas Munro)
일부 인기있는 운영 체제는 쓸 수 없을 때 커널 데이터 버퍼를 폐기하여 이것을보고합니다.fsync ()
실패. 우리가 재발행한다면fsync ()
요청은 성공할 것이지만 실제로 데이터가 손실되었으므로 계속되는 위험 데이터베이스 손상이 손상됩니다. 대신 공황 상태를 높이면 WAL에서 재생할 수 있습니다. WAL은 그러한 상황에서 나머지 데이터 사본을 포함 할 수 있습니다.
새로운 서버 매개 변수data_sync_retry이것을 제어하기 위해 추가되었습니다. 그러한 시나리오에서 커널이 더러운 데이터 버퍼를 폐기하지 않는다고 확신하면 설정할 수 있습니다.data_sync_retry
toon
오래된 행동을 복원하려면.
각 주요 릴리스 브랜치의 윈 토토 노트를 해당 지점에 대한 문서에만 해당 지점에 포함시키고 나중에 모든 것 (Tom Lane)을 포함시킵니다.
이전 정책에 의해 유발 된 복제는 손을 떼고있었습니다. 우리의 계획은 프로젝트 웹 사이트에서 윈 토토 노트의 전체 아카이브를 제공하는 것이지만 각 릴리스 내에 복제하지는 않습니다.
NOT NULL
파티션 테이블의 제약은 파티션 내에서 영예를 얻습니다 (Álvaro Herrera, Amit Langote)
파티션을 분리 할 때 안전 테이블 잠금 레벨 사용 (Álvaro Herrera)
이전 잠금 레벨이 너무 약해서 테이블에서 동시 DDL을 허용 할 수 있습니다.
적용 문제 수정on Commit Drop
and커밋 삭제 행
상속 자녀와 함께 테이블과 테이블을 분할하려면 (Michael Paquier)
anallow동결 복사
파티션 테이블 (David Rowley)
이것은 결국 작동해야하지만, 위험을 뒤집을 때 너무 복잡한 패치가 필요할 수 있습니다..
다중 버퍼 잠금 장치를 얻을 때 가능한 교착 상태를 피하십시오 (Nishant FNU)
진 진공 청소기와 동시 인덱스 삽입 사이의 교착 상태를 피하십시오 (Alexander Korotkov, Andrey Borodin, Peter Geoghegan)
이 변경은 GIN 게시 트리 페이지를 삭제하는 동안 잠긴 인덱스 페이지의 수를 줄이려고 시도한 버전 10.0에 도입 된 성능 향상을 부분적으로 되돌립니다. 그것은 이제 교착 상태로 이어지는 것으로 밝혀 졌으므로 긴밀한 분석을 위해 제거했습니다.
핫 스탠드 쿼리와 진 인덱스 삭제의 재생 사이의 교착 상태를 피하십시오 (Alexander Korotkov)
인덱스 표현식 또는 Predicates를 사용할 때 논리 복제에서 가능한 충돌 수정 (Peter Eisentraut)
테이블 재 작성 중에 토스트 데이터의 쓸모없고 값 비싼 논리적 디코딩을 피하십시오 (Tomas Vondra)
동기 복제가 활성화 될 때 WAL 발신자의 하위 집합을 중지하기위한 로직 수정 (Paul Guo, Michael Paquier)
튜플 삭제 WAL 레코드 (Stas Kelvich)에 잘못된 복제 아이덴티티 필드를 쓰지 않도록하십시오.
동안 Wal Skipping 최적화의 잘못된 사용 방지COPY
보기 또는 외국 테이블 (Amit Langote, Michael Paquier)
Archive (David Steele)을 선택하면서 Archiver가 WAL 데이터 파일을 통해 WAL 히스토리 파일을 우선 순위를 정합니다.
가능한 충돌 수정업데이트
다중SET
서브를 사용한 조항select
소스 (Tom Lane)
충돌을 피하십시오libxml2NULL 오류 메시지를 반환합니다 (Sergio Conde Gómez)
Collation 할당의 일관되지 않은 처리로 인한 가짜 그룹 관련 파서 오류 수정 (Andrew Gierth)
경우에 따라 일치하는 것으로 간주되어야하는 표현식이 일치하는 것으로 간주되지 않았습니다. 콜라이트 가능한 데이터 유형에 대한 작업이 포함되어 있으면
비교 기능이 기본인지 확인최소 ()
또는greatest ()
(Tom Lane)이라고 가정하기보다는 누출이 있습니다.
BTREE 비교 기능의 실제 정보 유출은 일반적으로 자발적이기가 어렵지만 원칙적으로는 일어날 수 있습니다.
수집 계획 노드 (Tom Lane) 위와 아래 중첩 루프와 관련된 쿼리의 잘못된 계획 수정
동일한 변수를 오른쪽으로 전달 해야하는 두 레벨의 NestLoop 수준이 잘못된 계획이 생성됩니다.
외국 테이블 스캔 (Tom Lane)에서 측면 참조를 평가 해야하는 쿼리의 잘못된 계획 수정
합병 조인 비용의 코너 케이스 과소 평가 (Tom Lane)
플래너는 외부 키 범위가 내부 키 범위보다 훨씬 작을 때 합병 결합을 선호 할 수 있습니다. 내면에 너무 많은 중복 키가 너무 많아서 이것이 열악한 선택입니다..
쿼리에 수천 개의 색인 성 조항 (Tom Lane)이 포함되어있을 때 O (n^2) 시간 성장을 피하십시오.
개선분석
의 동시에 업데이트 된 행의 취급 (Jeff Janes, Tom Lane)
이전에, 진행중인 트랜잭션으로 삭제 된 행은 생략되었습니다분석
의 샘플이지만, 이는 그들을 포함하는 것보다 더 많은 불일치로 이어지는 것으로 밝혀졌습니다. 사실상 샘플은 이제의 MVCC 스냅 샷에 해당합니다.분석
의 시작 시간.
makeTruncate
다른 세션의 임시 테이블 인 상속 자식 테이블을 무시합니다 (Amit Langote, Michael Paquier)
이것은 가져옵니다Truncate
다른 명령의 행동과 일치합니다. 이전에는 그러한 사례가 일반적으로 실패로 끝났습니다.
수정Truncate
오른쪽 테이블 (Tom Lane)의 통계 카운터를 업데이트하려면
잘린 테이블에 토스트 테이블이 있으면 해당 테이블의 카운터가 대신 재설정되었습니다.
프로세스변경 사항이없는 경우 열 만 추가
정확하게 (Greg Stark)
허용Unlisten
핫 스탠드 모드 (Shay Rojansky)
이것은 반드시 NO-OP입니다.듣기
핫 스탠드 모드에서는 허용되지 않습니다. 그러나 더미 작업을 허용하면 클라이언트의 세션 상태 리 세트 로직이 단순화됩니다.
일부 스키마 및 데이터 유형 권한 목록 (Tom Lane)에서 누락 된 역할 종속성 수정
경우에 따라 권한이 부여 된 역할을 삭제할 수있었습니다. 이로 인해 즉각적인 문제는 발생하지 않았지만 후속 덤프/재 장전 또는 업그레이드는 실패 할 수 있으며, 모든 수평선 역할 이름에 특권을 부여하려는 시도와 관련된 증상.
2 상 트랜잭션 내에서 세션의 임시 스키마 사용을 방지합니다 (Michael Paquier)
그러한 거래 내에서 임시 테이블에 액세스하는 것은 오랫동안 금지되어 왔지만 임시 대상에 대한 다른 작업에 문제를 일으킬 수 있습니다.
외래 키 제약 조건을 추가하거나 제거한 후 관계 캐시가 올바르게 업데이트되도록하십시오 (Álvaro Herrera)
이 감독은 기존 세션이 새로 만들어진 제약을 시행하지 못하거나 삭제 한 것을 계속 시행 할 수 있습니다.
제약 조건 이름 변경 후 관계 캐시가 올바르게 업데이트되도록하십시오 (Amit Langote)
남은 임시 테이블을 제거하는 것에 대해 Autovacuum을 더 공격적으로 만들고 동안 남은 임시 테이블을 제거하십시오.템피 버림
(Álvaro Herrera)
이것은 추락 된 세션의 잔재물이 더 즉시 정리되도록하는 데 도움이됩니다.
동시 핫 스탠드 쿼리가 일치하지 않는 상태를 보지 않도록 Gist Index Micro-Vacuum 작업의 재생 수정
빈 진 인덱스 페이지가 너무 빨리 회수되는 것을 방지하여 동시 검색의 실패 (Andrey Borodin, Alexander Korotkov)
Float-to-Integer 강제의 에지 사례 실패 수정 (Andrew Gierth, Tom Lane)
최대 유효한 정수 값보다 약간 높은 값은 거부되지 않은 다음 오버플로하여 대신 최소 유효한 정수를 생성합니다. 또한 최소 또는 최대 정수 값으로 반올림 해야하는 값이 잘못 거부 될 수 있습니다.
PAM 인증 요청을 할 때를 설정하지 마십시오.pam_rhost
연결이 UNIX 소켓 (Thomas Munro)을 통한 경우 변수
이전에는 변수가 설정되었습니다[Local]
, 호스트 이름으로되어 있기 때문에 도움이되지 않습니다.
허용 설정client_min_messages
보다 높음오류
(Jonah Harris, Tom Lane)
이전 에이 변수를 설정할 수있었습니다치명적
또는panic
, 클라이언트에게 일반 오류 메시지의 전송을 억제하는 효과가 있습니다. 그러나 그것은에 주어진 보증과 상반됩니다.윈 토토와이어 프로토콜 사양, 일부 클라이언트가 매우 혼란스러워졌습니다. 해제 된 지점에서는 그러한 설정을 의미로 조용히 처리 하여이 문제를 해결하십시오.오류
대신. 버전 12 이상은 그 대안을 모두 거부 할 것입니다.
수정ecpglib사용하려면Uselocale ()
또는_configthreadlocale ()
선호하는setLocale ()
(Michael Meskes, Tom Lane)
이후setLocale ()
| 스레드-로컬이 아니며 스레드 안전이 아닐 수도 있습니다. 이전 코딩은 다중 스레드에서 문제를 일으켰습니다ECPG응용 프로그램.
숫자 데이터에 대한 잘못된 결과 수정ECPG SQLDA(SQL 디스크립터 영역) (Daisuke Higuchi)
선행 제로가있는 값은 올바르게 복사되지 않았습니다.
수정PSQL's\ g
대상
Meta-Command와 함께 작업stdout에 복사
(Daniel Vérité)
이전에대상
옵션이 무시되어 복사 데이터가 항상 현재 쿼리 출력 대상으로 이동했습니다.
makePSQL의 라텍스 출력 형식은 특수 문자를 올바르게 렌더링합니다 (Tom Lane)
Backslash 및 기타 ASCII 구두점 문자가 올바르게 렌더링되지 않았으므로 출력에서 문서 구문 오류 또는 잘못된 문자로 이어집니다..
수정pg_dump의 기본 키 (Tom Lane)에 대한 간접 종속성으로 구체화 된 뷰 처리
이것은 그러한보기의 덤프 아카이브 항목을 잘못 표현하여 무해한 경고를 유발했습니다“아카이브 항목이 올바른 섹션 순서가 아닌 아카이브 항목”; 덜 무해한,와 같은 레이블에 따라-섹션
, 잘못 행동 할 수 있습니다.
일부 플랫폼에서 널 포인터-언론의 충돌을 피하십시오pg_dump또는PG_RESTORE오류를보고하려고합니다 (Tom Lane)
제대로 무시SIGPIPE
오류 if프로그램에서 복사
프로그램 출력을 일찍 읽는 중지 (Tom Lane)
이 케이스는 실제로 직접 도달 할 수 없습니다COPY
, 그러나 사용할 때 발생할 수 있습니다contrib/file_fdw
.
수정Contrib/Hstore
빈의 올바른 해시 값을 계산하려면hstore
버전 8.4 또는 그 이전 (Andrew Gierth)에서 생성 된 값
이전 코딩은 빈과 동일한 결과를 제공하지 않았습니다hstore
최신 버전으로 생성 된 값이므로 해시 조인 또는 해시 집계에서 잘못된 결과가 발생할 수 있습니다. 구축 된 해시 인덱스를 다시 알리는 것이 좋습니다hstore
열, 테이블에 원래 8.4까지 저장된 데이터가 포함되어 있고 그 이후로 덤프/다시로드되지 않은 데이터가 포함될 수 있습니다.
큰 입력으로 충돌 및 과도한 런타임을 피하십시오Contrib/Intarray
'sgist__int_ops
색인 지원 (Andrew Gierth)
in구성, 찾기Python3
andPython2
ifPython
발견되지 않음 (Peter Eisentraut)
이것은 명시 적으로 지정하지 않고 pl/python을 구성 할 수 있습니다Python
더 이상 비전을 제공하지 않는 플랫폼에서Python
실행 파일.
새로운 MakeFile 변수 지원PG_CFLAGS
, PG_CXXFLAGS
및PG_LDFLAGS
inPGXS빌드 (Christoph Berg)
이것은 확장 빌드 프로세스의 사용자 정의를 단순화합니다.
Perl-Coded 빌드 스크립트 수정을 가정하지 않습니다“.
”최근 Perl 버전에는 포함되지 않기 때문에 검색 경로에 있습니다 (Andrew Dunstan)
OpenBSD (Tom Lane)에서 문제를 해결하는 서버 명령 줄 옵션 수정
재배치set_rel_pathlist_hook
확장자가이를 사용할 수 있도록 평행 쿼리 (kaigai kohei)
이것은 기존 유스 케이스에 영향을 미치지 않을 것으로 예상됩니다.
사용할 레드 블랙 트리 지원 기능 이름 바꾸기RBT
Prefix notRB
Prefix (Tom Lane)
이것은 Pl/Ruby를 깨뜨린 Ruby 기능과의 이름 충돌을 피합니다. 다른 영향을받는 확장이 없기를 바랍니다.
시간대 데이터 파일 업데이트tzdataKazakhstan, Metlakatla 및 Sao Tome 및 Principe의 DST 법률 변경에 대한 2018i 출시. Kazakhstan의 Qyzylorda Zone은 2로 나뉘어 일부 지역이 UTC 오프셋을 변경하지 않았기 때문에 새로운 구역 아시아/Qostanay를 만듭니다.