토토 결과 노트

PostgreSQL

E.11. 토토 결과 9.5.15

출시 날짜 : 2018-11-08

이 토토 결과에는 9.5.14의 다양한 수정 사항이 포함되어 있습니다. 9.5 주요 토토 결과의 새로운 기능에 대한 정보는 참조섹션 E.26.

E.11.1. 버전 9.5.15로의 마이그레이션

9.5.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.

그러나 9.5.13 이전 버전에서 업그레이드하는 경우 참조섹션 E.13.

E.11.2. 변화

  • 코너 케이스 실패 수정has_foo_privilege ()기능 가족 (Tom Lane)

    유효하지 않은 개체 OID가 제공 될 때 오류를 던지지 않고 널 리턴 NULL. 이 기능 중 일부는 이미 그 사실을 제대로 얻었지만 전부는 아닙니다.has_column_privilege ()일부 플랫폼토토 결과 추가로 충돌 할 수있었습니다.

  • 방지 o (n^2) 긴 줄에 정규 표현식 일치/분할 함수의 둔화 (Andrew Gierth)

  • 즉시 의견을 따르는 표준 다중 문자 운영자의 구문 분석 수정 또는+또는-(Andrew Gierth)

    이 감독은 구문 분석 오류가 발생하거나 우선 순위의 잘못된 할당으로 이어질 수 있습니다.

  • O (N^3) 긴 문자열에 대한 Lexer의 둔화를 피하십시오+또는-캐릭터 (Andrew Gierth)

  • 외부 쿼리가 뒤로 스캔 될 때 하위 계획의 잘못 실행을 수정합니다 (Andrew Gierth)

  • 고장 실패업데이트/삭제 ... 현재의 위치 ...참조 된 커서 (Tom Lane)를 되 감는 후

    여러 관계를 스캔하는 커서 (특히 상속 트리)가 이전 관계로 다시 wound 경우 잘못된 동작을 일으킬 수 있습니다.

  • 수정평가 플랜 쿠아조건부 실행 시작 계획을 올바르게 처리하려면 (Andrew Gierth, Tom Lane)

    이로 인해 상관되지 않은 서브와 같은 코드가 포함 된 경우 동시 업데이트에서 충돌이 발생하기 어려운 충돌 또는 잘못된 답변이 발생했습니다.select내부CASE구성.

  • u+ffff 위의 유니 코드 문자에 대한 Windows에 대한 문자 클래스 검사 수정 수정 (Tom Lane, Kenji Uno)

    이 버그는 전체 텍스트 검색 작업에 영향을 미쳤습니다.Contrib/ltreeandContrib/PG_TRGM.

  • 외국 테이블이 소유 한 시퀀스가 ​​처리되는지 확인하십시오Alter Owner테이블 위 (Peter Eisentraut)

    소유권 변경은 그러한 시퀀스로도 전파되어야하지만 이것은 외국 테이블토토 결과 누락되었습니다.

  • 서버가 이미 수신을 처리하는지 확인Notifyandsigterm클라이언트 입력을 기다리기 전에 인터럽트 (Jeff Janes, Tom Lane)

  • 공간의 과도한 할당 수정array_out ()의 결과 문자열 (keiichi hirobe)

  • 반복 된 SP-Gist 인덱스 스캔에서 메모리 누출 수정 (Tom Lane)

    SP-Gist를 사용하는 제외 제약 조건이 단일 명령토토 결과 많은 새로운 인덱스 항목을받는 경우에만 중요한 것으로 알려져 있습니다..

  • ApplyLogicalMappingFile ()완료되면 매핑 파일을 닫습니다 (Tomas vondra)

    이전에, 파일 디스크립터가 유출되어 결국 논리적 디코딩 중에 고장이 발생했습니다.

  • 맵핑 된 카탈로그 테이블이 반복적으로 다시 작성되는 경우 (예 :를 처리하려면 논리 디코딩을 수정합니다.진공 Full(Andres Freund)

  • 서버 시작 방지Wal_level기존 복제 슬롯 (Andres Freund)을 지원하기 위해 너무 낮은 값으로 설정

  • 유틸리티 명령이 무한 재귀를 일으키는 경우 충돌을 피하십시오 (Tom Lane)

  • 핫 스탠드를 초기화 할 때 마스터의 2 단계 트랜잭션으로 인한 중복 XID에 대처하십시오 (Michael Paquier, Konstantin Knizhnik)

  • 중첩을 다루기위한 이벤트 트리거 수정Alter Table명령 (Michael Paquier, Álvaro Herrera)

  • 상위 프로세스의 거래 및 명세서 전파 타임 스탬프를 병렬 작업자에게 시작합니다 (Konstantin Knizhnik)

    이것은 다음과 같은 함수의 오작동을 방지합니다transaction_timestamp ()근로자토토 결과 처형 될 때.

  • 대기 서버 (Michael Paquier)에서 올바르게 작동하도록 WAL 파일 재활용 논리 수정

    설정에 따라archive_mode, 대기는 제거 할 수있는 일부 왈 파일을 제거하지 못할 수 있습니다.

  • 회복 중 커밋 타이어 스탬프 추적 수정 (Masahiko Sawada, Michael Paquier)

    커밋 타임 스탬프 추적이 켜지거나 꺼진 경우 기록되지 않은 트랜잭션에 대한 커밋 타임 스탬프를 가져 오기 위해 복구가 실패 할 수 있습니다..

  • 무작위 화random ()부트 스트랩 및 독립형 백엔드의 시드 및 ininitdb(Noah Misch)

    이 변화의 주요 실질적인 효과는 시나리오를 피하는 것입니다.initdb항상 동일한 임의의 시드를 사용하여 발생하는 이름 충돌로 인해 Posix 공유 메모리를 사용할 수 없다고 잘못 결론을 내릴 수 있습니다.

  • DSM 할당이 중단되도록 허용 (Chris Travers)

  • 전환을 올바르게 처리full_page_writes동적으로 (Kyotaro Horiguchi)

  • WAL에서 진 페이지 재생을 재생할 때 가능한 버퍼 오버런을 피하십시오 (Alexander Korotkov, Sivasubramanian Ramasubramanian)

  • Replication 슬롯 디렉토리의 FSYNC를 놓친 수정 (Konstantin Knizhnik, Michael Paquier)

  • 사용할 때 예기치 않은 시간 초과 수정Wal_Sender_Timeout느린 서버에서 (Noah Misch)

  • 핫 대기 프로세스가 올바른 WAL 일관성 지점 (Alexander Kukushkin, Michael Paquier)을 사용하는지 확인하십시오.

    이것은 대기 서버가 WAL Replay 동안 일관된 데이터베이스 상태에 도달 한 직후 오해를 방지합니다..

  • Postmaster가 데이터베이스 시작을 완료하기 전에 빠른 다운 요청을 받으면 배경 작업자가 제대로 중지되도록하십시오 (Alexander Kukushkin)

  • 서비스 할 때 Atexit 콜백을 실행하지 마십시오Sigquit(Heikki Linnakangas)

  • 외국 서버 사용자 매핑을 확장 회원으로 기록하지 마십시오 (Tom Lane)

    if사용자 매핑 만들기확장 스크립트토토 결과 실행되며, 예상치 못한 사용자 매핑에 대한 확장 종속성이 생성되었습니다. 역할은 확장 멤버가 될 수 없으므로 사용자 매핑도 아닙니다.

  • CSV 로그 파일을 여는 데있어 실패에 대해 Syslogger를 더 강력하게 만듭니다 (Tom Lane)

  • 수정PSQL및 문서 예제도 전화 할pqconsumeInput ()각각pqnotifies ()전화 (Tom Lane)

    이것은 케이스를 수정합니다PSQLa를보고하지 않을 것입니다Notify다음 명령이 끝날 때까지 메시지.

  • 가능한 불일치 수정pg_dump's 비 유사한 개체 이름의 분류 (Jacob Champion)

  • PG_RESTORE방출시 테이블 이름을 윌 스키마-토토 결과피비활성화/트리거 활성화명령 (Tom Lane)

    이것은 제한적인 검색 경로로 복원하는 새로운 정책으로 인한 실패를 피합니다.

  • 수정pg_upgrade이벤트 트리거를 올바르게 처리하려면 (Haribabu Kommi)

    pg_upgrade이벤트 트리거의 확장 대회 상태를 보존하지 못했습니다.

  • 수정pg_upgrade의 클러스터 상태 검사 대기 서버 (Bruce Momjian)토토 결과 올바르게 작동하는지

  • 시행 유형큐브의 차원 제한Contrib/Cube기능 (Andrey Borodin)

    이전에, 일부 큐브 관련 함수는 거부 될 값을 구성 할 수 있습니다cube_in (), 덤프/재 장전이 발생합니다.

  • 수정Contrib/Unaccent'sUnaccent ()사용 기능uncent함수와 동일한 스키마에있는 텍스트 검색 사전 (Tom Lane)

    이전에는 검색 경로를 사용하여 사전을 찾아 보려고했는데, 검색 경로에 제한적 값이 있으면 실패 할 수 있습니다.

  • MACOS 10.14 (Mojave) (Tom Lane)토토 결과 빌드 문제를 해결합니다.

    조정구성추가하려면-isysroot전환CPPFLAGS; 이 없으면 PL/PERL 및 PL/TCL은 MACOS 10.14를 구성하거나 빌드하지 못합니다.PG_SYSROOT인수의 변수구성또는만들기.

    이제 Perl 관련 확장이 쓰기를 권장합니다$ (perl_includespec)대신-i $ (perl_archlibexp)/core컴파일러 플래그토토 결과. 후자는 대부분의 플랫폼토토 결과 계속 작동하지만 최근에는 MacOS가 아닙니다.

    또한 더 이상 지정할 필요는 없습니다-with-tclconfig수동으로 PL/TCL이 최근 MACOS 토토 결과를 구축하도록합니다.

  • 최근 Perl 버전 (Andrew Dunstan)에서 작동하도록 MSVC 빌드 및 회귀 테스트 스크립트 수정

    Perl은 더 이상 기본적으로 검색 경로에 현재 디렉토리를 포함하지 않습니다. 그 주위토토 결과 일하십시오.

  • Windows에서 관리자 계정 (Andrew Dunstan)에서 회귀 테스트를 실행할 수 있습니다.

    이 작업을 안전하게 수행하려면PG_REGRESS이제 스타트 업토토 결과 그러한 특권을 포기합니다.

  • Visual Studio 2015 또는 Visual Studio 2017 (Michael Paquier, Haribabu Kommi)을 사용하여 Windows에서 구축을 지원합니다.

  • btree 비교 함수가 반환하도록 허용int_min(Tom Lane)

    지금까지, 우리는 데이터 유형별 비교 기능이 반환되는 것을 금지했습니다int_min, 발신자는 비교 결과를 무효화하여 정렬 순서를 반전 할 수 있습니다. 그러나 이것은의 결과를 직접 반환하는 비교 기능에 안전하지 않았습니다.memcmp (), strcmp ()등, Posix는 그러한 함수에 그러한 제한을 두지 않기 때문에. 최소한 최근의memcmp ()반환 할 수 있습니다int_min, 잘못된 정렬 순서를 유발합니다. 따라서이 제한을 제거했습니다.invert_compare_result ()정렬 순서를 뒤집으려면 매크로.

  • 공유 불균형 메시지 처리 (Tom Lane)의 재귀 위험 수정 (Tom Lane)

    이 오류는 예를 들어 방금 처리 된 시스템 카탈로그 또는 인덱스에 액세스하지 못할 수 있습니다.진공 Full.

    이 변경 사항은 새로운 결과 코드를 추가합니다Lockacquire,이 기능의 외부 발신자에게 영향을 줄 수 있지만 매우 특이한 사용 패턴 만 문제가 발생할 수 있습니다. APIlockacquireeextended도 변경되었습니다.

  • SPI의 글로벌 변수 저장 및 복원SPI_CONNECT ()andspi_finish ()(Chapman Flack, Tom Lane)

    이것은 한 스파이 기능이 다른 것을 호출 할 때 가능한 간섭을 방지합니다.

  • 제공allocset_default_size및 뒷사각의 형제 매크로 (Tom Lane)

    이 매크로는 9.6 이후 이후 존재했지만, 지점 별 코딩없이 확장자가 그것에 의존 할 수 있도록 오래된 지점에 추가하라는 요청이있었습니다..

  • 잠재적으로 정렬 된 페이지 버퍼 (Tom Lane) 사용하지 마십시오.

    새로운 노조 유형 발명pgalignedBlockandpgalignedxlogblock, 이들을 일반 숯 어레이 대신 사용하여 컴파일러가 버퍼를 잘못 정렬 된 시작 주소에 놓을 수 없도록합니다. 이것은 정렬-냉담한 플랫폼에서 잠재적 인 핵심 덤프를 수정하고 오정렬을 허용하는 플랫폼에서도 성능을 향상시킬 수 있습니다.

  • makesrc/port/snprintf.cC99 표준의 정의에 따르면snprintf ()의 결과 값 (Tom Lane)

    이 코드가 사용되는 플랫폼 (주로 Windows)에서 C99 이전 동작은 호출 코드가 C99 시맨틱을 가정하면 버퍼 오버런을 감지하지 못할 수 있습니다..

  • Clang컴파일러, 요구-msse2사용하려면 (Andres Freund)

    이것은 부동 소수점 오버플로 점검을 놓친 문제를 피합니다.

  • 수정구성의 결과 유형 감지strerror_r ()(Tom Lane)

    이전 코딩은 |ICCLinux (및 아마도 다른 경우)토토 결과libpq시스템보고 오류에 대한 유용한 오류 메시지를 반환하지 않습니다.

  • 시간대 데이터 파일 업데이트tzdata칠레, 피지, 모로코 및 러시아의 DST 법률 변경을위한 2018G (Volgograd), 중국, 하와이, 일본, 마카오 및 북한에 대한 역사적 교정을위한 2018G