토토 결과 9.6.24 문서 | |||
---|---|---|---|
이전 | up | 부록 E. 토토 결과 노트 | 다음 |
출시 날짜 : 2018-02-08
이 토토 결과에는 9.6.6의 다양한 수정 사항이 포함되어 있습니다. 9.6 주요 토토 결과의 새로운 기능에 대한 정보는 참조섹션 E.25.
9.6.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 사용하는 경우Contrib/Cube's~운영자, 아래의 항목 참조.
또한 9.6.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.19.
pg_upgradeWorld-Readable (Tom Lane, Noah Misch)
pg_upgrade일반적으로 임시 파일을 호출 사용자 만 읽을 수 있고 쓸 수 있도록 제한합니다. 그러나 포함하는 임시 파일PG_DUMPALL -Goutput은 그룹 또는 세계에서 읽을 수 있거나 사용자가 쓸 수있는 경우Umask설정 허용. 다중 사용자 기계에 대한 일반적인 사용으로Umask및/또는 작업 디렉토리의 권한은 문제를 방지하기에 충분히 빡빡합니다. 그러나를 사용하는 사람들이있을 수 있습니다.pg_upgrade이 감독이 비우호적 인 눈에 데이터베이스 암호를 공개 할 수있는 시나리오에서. (CVE-2018-1053)
키 공유 잠긴 상태에서 업데이트 된 튜플의 진공 청소기 (Andres Freund, Álvaro Herrera)
경우에 따라진공현재 죽었음에도 불구하고 그러한 튜플이 제거되어 분류 된 데이터 손상 시나리오로 이어집니다.
진공 청소기 진공 상태가 항상 보류중인 삽입 목록 (Masahiko Sawada)을 정리해야합니다.
DEAD 인덱스 항목이 제거되도록해야합니다. 이전 코드는 거꾸로 가져와 다른 프로세스가 동시에 정리를 실행하면 진공 청소를 건너 뛸 수 있으므로 인덱스에 잘못된 항목이 남아있을 위험이 있습니다..
일부 LSN 페치에서 부적절한 버퍼 잠금 수정 (Jacob Champion, Asim Praveen, Ashwin Agrawal)
이러한 오류는 동시 부하에서 오작동을 일으킬 수 있습니다. 잠재적 결과는 완전히 특성화되지 않았습니다.
출력이 사용되는 하위 쿼리의 평평한 사례에서 잘못된 쿼리 결과를 수정합니다그룹화 세트(Heikki Linnakangas)
상속 트리의 쿼리에서 불필요한 실패를 피하십시오.ALTER 테이블 없음 상속(Tom Lane)
여러 세션이 실행될 때 가짜 교착 상태 실패 수정동시에 색인 생성(Jeff Janes)
상속 트리에 외국 어린이 테이블이 포함 된 경우 고장 수정 (Etsuro Fujita)
상속 트리에 일반 테이블과 외국 테이블이 혼합되어 잘못된 계획이 생성되었습니다업데이트and삭제쿼리. 이로 인해 일부 경우에도 외국 아동 테이블에 줄 수준의 트리거가있을 때 경우에도 눈에 띄게 실패했습니다.
상관 관계 서브의 수리 실패select내부값내부측면서브 쿼리 (Tom Lane)
수정"주어진 쿼리에 대한 쿼리 계획을 고안 할 수 없습니다"일부 경우 중첩과 관련된 경우 플래너 실패Union All내부 측면 하위 쿼리 내부 (Tom Lane)
충돌 된 트랜잭션에 대한 디스크 파일을 올바르게 정리하려면 논리적 디코딩 수정 (Atsushi Torikoshi)
논리적 디코딩은 많은 WAL 레코드를 생성하는 트랜잭션을 위해 WAL 레코드를 디스크로 유출 할 수 있습니다. 일반적으로 이러한 파일은 거래의 커밋 또는 중단 기록이 도착한 후에 정리됩니다.
대규모 트랜잭션을 처리 할 때 Walsender 타임 아웃 실패 및 인터럽트에 대한 응답 실패 수정 (PETR Jelinek)
수정has_sequence_privilege ()
지원하기보조금 옵션다른 권한 테스트 기능과 마찬가지로 테스트 (Joe Conway)
UTF8 인코딩을 사용하는 데이터베이스에서 다른 인코딩 (Pavel Stehule, Noah Misch)을 주장하는 XML 선언을 무시합니다.
우리는 항상 데이터베이스 인코딩에 XML 문자열을 저장하므로 LIBXML이 다른 인코딩의 선언에 작용할 수 있도록 잘못된 결과를 얻었습니다. UTF8 이외의 인코딩에서 어쨌든 비 ASCII XML 데이터를 지원할 것을 약속하지 않으므로 버그 호환성에 대한 이전 동작을 유지하십시오.xpath ()
및 관련 기능; 다른 XML 코드 경로는 이미 이런 식으로 행동했습니다.
향후 작은 프로토콜 버전과의 전진 호환성 제공 (Robert Haas, Badrul Chowdhury)
지금까지토토 결과서버는 단순히 프로토콜 버전을 3.0보다 새롭게 사용하라는 요청을 거부하여 프로토콜 버전 번호의 주요 부분과 작은 부분 사이에 기능적 차이가 없었습니다. 클라이언트가 실패하지 않고 버전 3.x를 요청할 수 있도록 허용하여 서버가 3.0 만 이해한다는 메시지를 다시 보내십시오.
병렬 작업자 프로세스를 시작하지 못하는 대처 (Amit Kapila, Robert Haas)
병렬 쿼리는 이전에 작업자를 시작할 수없는 경우 무기한으로 매달리는 경향이있었습니다.포크 ()실패 또는 기타 낮은 확률 문제.
수정 수집설명병렬 작업자의 통계 (Amit Kapila, Thomas Munro)
작업 할 때 안전하지 않은 정렬 가정을 피하십시오__int128(Tom Lane)
일반적으로 컴파일러는__int128변수는 16 바이트 경계에 정렬되지만 메모리 할당 인프라는 여러 가지 이유로 Maxalign 설정을 증가시킬 준비가되어 있지 않습니다. 를 허용하도록 코드를 조정하십시오.__int128컴파일러에 정렬이 적을 수 있다고 말할 수있는 경우에만. 지금 까지이 문제의 유일한 알려진 증상은 일부 병렬 집계 쿼리에서 충돌입니다.
매우 깊게 중첩 된 설정 작업을 계획 할 때 스택 오버 플로우 충돌 방지 (Union/교차/제외) (Tom Lane)
일부 유형의 LDAP URL에 대한 널 포인터 충돌 수정pg_hba.conf(Thomas Munro)
샘플 수정instr ()
PL/PGSQL 문서의 기능 (Yugo Nagata, Tom Lane)
이 기능은에 명시되어 있습니다.Oracle® 호환 가능하지만 정확하지는 않았습니다. 특히, 부정적인 세 번째 매개 변수의 해석에는 불일치가있었습니다. Oracle은 부정적인 값이 대상 서브 스트링이 시작될 수있는 마지막 장소를 나타내는 반면, 우리의 기능은 대상이 끝날 수있는 마지막 장소로 가져 갔다고 생각합니다.
샘플 코드는 Oracle의 동작에보다 정확하게 일치하도록 조정되었습니다. 이 코드를 응용 프로그램에 복사 한 사용자는 사본을 업데이트 할 수 있습니다.
수정pg_dumpACL (권한), 댓글 및 보안 레이블 항목을 아카이브 출력 형식 (Tom Lane)에서 안정적으로 식별 할 수 있습니다.
the"태그"ACL 아카이브 항목의 일부는 일반적으로 관련 객체의 이름 일뿐입니다. 대신 객체 유형으로 시작하여 ACL을 댓글 및 보안 레이블 아카이브 항목에 이미 사용한 컨벤션과 일치시킵니다.데이터베이스그래서 그들은 또한이 협약을 따릅니다. 이렇게하면 코드에서 거짓 일치가 표시되는 것을 방지하여 태그가 시작되는지 확인하여 대형 객체 관련 항목을 식별하려고 시도합니다.큰 물체. 이로 인해 스키마 전용 또는 데이터 전용 덤프에서 바람직하지 않은 결과를 얻은 스키마 대신 데이터로 항분을 잘못 분류 할 수있었습니다.
이 변경 사항은 사용자가 가시적으로 결과를 가져 왔습니다.PG_RESTORE ---list.
Renamepg_rewind'sCOPY_FILE_RANGE
해당 이름의 새로운 Linux 시스템 호출과 충돌하는 기능 (Andres Freund)
이 변경 사항은 새로운 GLIBC 버전으로 빌드 실패를 방지합니다.
inECPG, 길이가 올바른 길이가없는 표시기 배열을 감지하고 오류 (David Rader)
동작 변경Contrib/Cube's큐브 ~ int운영자는 KNN Search (Alexander Korotkov)와 호환되도록합니다.
두 번째 인수 (차원 선택기)의 의미는 다양한 치수의 큐브를 다룰 때에도 어떤 값이 선택 될 수 있도록 변경되었습니다..
이것은 양립 할 수없는 변화이지만, 운영자의 지점이 KNN 검색에 사용되기 때문에 다소 쓸모없는 것 같습니다. 이 업데이트를 설치 한 후이 연산자를 사용하여 표현식 인덱스 또는 구체화 된 뷰는 다시 표시/새로 고침해야합니다.
libc 어설 션을 트리거하지 않으면Contrib/Hstore, 사용으로 인해memcpy ()
동등한 소스 및 대상 포인터 (Tomas Vondra)
튜플의 잘못된 표시 'null 비트 맵에서Contrib/PageInspect(Maksim Milyutin)
inContrib/Postgres_FDW, 피하기"외부 Pathkeys는 Mergeclauses와 일치하지 않습니다"원격 조인 (Robert Haas)과 관련된 계획을 구성 할 때 플래너 오류
MacOS (Tom Lane)에서 우편둥이를 자동 시작하는 방법에 대한 현대적인 예를 제공합니다
스크립트Contrib/Start-Scripts/OSX10 년 넘게 더 이상 사용되지 않은 인프라를 사용하고 지난 몇 년 동안 MACOS 토토 결과에서 더 이상 작동하지 않습니다. 새 하위 디렉토리 추가Contrib/Start-Scripts/MacOS새로운 것을 사용하는 스크립트 포함런치인프라.
Windows (Andrew Dunstan)에서 OpenSSL에 대한 구성 별 라이브러리를 잘못 선택한 수정
Libperl (Noah Misch)의 Mingw-Built 버전에 대한 지원 지원
이것은 Windows 용 일반적인 Perl 분포로 PL/PERL을 구축 할 수 있습니다.
32 비트 libperl이 필요한지 테스트하기 위해 MSVC 빌드 수정-d_use_32bit_time_t(Noah Misch)
사용 가능한 Perl 분포는 그들이 기대하는 것에 일치하지 않으며 신뢰할 수있는 신뢰할 수있는 수단이 부족하므로 사용중인 라이브러리가 실제로하는 일에 대한 빌드 타임 테스트에 의지합니다..
Windows에 우체국 마스터 스타트 업 (Takayuki Tsunakawa)의 일찍 충돌 덤프 핸들러를 설치하십시오
이것은 이전에 덤프를 생성하지 않은 조기 시작 실패에 대한 코어 덤프를 수집 할 수 있습니다.
Wind
OpenBSD 및 NetBSD (David Carlier)에서 기존 Motorola 68K 스핀 락 코드 사용
Motorola 88K (David Carlier)의 스핀 락에 대한 지원 추가
시간대 데이터 파일 업데이트TZDATA브라질, 사오 톰 및 프린 시프의 DST 법률 변경을위한 2018C, 볼리비아, 일본, 남 수단의 역사적 교정. 그만큼US/Pacific-NewZone이 제거되었습니다.America/Los_angeles어쨌든).