릴리스 노트

PostgreSQL

E.18. 릴리스 9.5.8

출시 날짜 : 2017-08-10

이 릴리스에는 9.5.7의 다양한 범퍼카 토토 사항이 포함되어 있습니다. 9.5 주요 릴리스의 새로운 기능에 대한 정보는 참조섹션 E.26.

E.18.1. 버전 9.5.8로의 마이그레이션

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

그러나 인증을 위해 사용자 암호를 사용하는 외국 데이터 서버를 사용하는 경우 아래의 첫 번째 ChangeLog 항목을 참조하십시오..

또한 9.5.7 이전 버전에서 업그레이드하는 경우 참조섹션 E.19.

E.18.2. 변화

  • 가시성을 추가로 제한pg_user_mappings.Umoptions, 사용자 매핑 옵션 (Noah Misch)으로 저장된 비밀번호를 보호하기 위해

    CVE-2017-7486에 대한 범퍼카 토토은 잘못되었습니다. 사용자가 자신의 사용자 매핑에서 옵션을 볼 수있었습니다.usage관련 외국 서버에 대한 허가. 이러한 옵션에는 사용자가 아닌 서버 소유자가 제공 한 비밀번호가 포함될 수 있습니다.information_schema.user_mapping_options그러한 경우 옵션이 표시되지 않습니다.pg_user_mappings(CVE-2017-7547)

    그 자체로는이 패치는 새로 Initdb 'Database의 동작 만 범퍼카 토토합니다. 이 변경 사항을 기존 데이터베이스에 적용하려면 다음을 수행해야합니다.

    1. 추가 후 포스트 마스터를 다시 시작합니다allow_system_table_mods = truetopostgresql.conf. (지원하는 버전ALTER SYSTEM,이를 사용하여 구성 변경을 수행 할 수 있지만 여전히 다시 시작해야합니다.)

    2. in클러스터의 데이터베이스, 다음 명령을 슈퍼업자로 실행합니다 :

      SET SEARCH_PATH = PG_CATALOG;
    3. 포함하는 것을 잊지 마십시오Template0andTemplate1데이터베이스 또는 취약점은 나중에 작성하는 데이터베이스에 여전히 존재합니다. 범퍼카 토토하려면Template0, 일시적으로 연결을 수락하도록해야합니다. 안에postgresql9.5 이상을 사용할 수 있습니다

      allow_connections true를 사용하여 데이터베이스 템플릿을 변경합니다.

      그런 다음 범퍼카 토토 후Template0, UNDO UNDO with

      allow_connections가있는 데이터베이스 템플릿을 Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Alter Database Template;

      이전 버전에서 대신 사용

      업데이트 pg_database set datallowconn = true 위치 datname = 'template0';
    4. 마지막으로 제거allow_system_table_mods구성 설정을 다시 시작하고 우체국 장을 다시 시작합니다.

  • 모든 암호 기반 인증 방법 (Heikki Linnakangas)에서 빈 암호를 허용하지 않습니다.

    libpq빈 비밀번호 사양을 무시하고 서버로 전송하지 않습니다. 따라서 사용자의 암호가 빈 문자열로 설정된 경우 해당 비밀번호로 로그인하는 것은 불가능합니다.PSQL또는 기타libpq기반 클라이언트. 따라서 관리자는 비밀번호로 비밀번호를 설정하는 것이 비밀번호 로그인을 비활성화하는 것과 동일하다고 생각할 수 있습니다.libpq기반 클라이언트, 로그인이 가능할 수 있습니다. 특히 가장 일반적인 방법,MD5, 허용 된 빈 암호. 모든 경우에 빈 비밀번호를 거부하도록 서버를 변경하십시오.

  • makelo_put ()확인업데이트대상 대상의 특권 (Tom Lane, Michael Paquier)

    lo_put ()반드시와 동일한 권한을 요구해야합니다.lowrite (), 그러나 확인이 없어서 모든 사용자가 큰 오브젝트에서 데이터를 변경할 수 있습니다. (CVE-2017-7548)

  • 대기 서버를 업그레이드하는 프로세스에 대한 설명서 범퍼카 토토pg_upgrade(Bruce Momjian)

    이전 문서는 사용자에게 실행 후 기본 서버를 시작/중지하도록 지시했습니다pg_upgrade그러나 대기 서버를 동기화하기 전에. 이 순서는 안전하지 않습니다.

  • 튜플 업데이트 체인의 동시 잠금 범퍼카 토토 (Álvaro Herrera)

    몇 차례의 세션이 오래된 스냅 샷을 사용하여 비 분쇄 잠금 모드가있는 튜플 업데이트 체인을 동시에 잠그면 모두 성공하면 레이스 조건으로 인해 일부 사람들이 실패 할 수있었습니다. 이것은 분명히 존재하지만 동시에 업데이트되고있는 튜플을 보지 못하는 외국 키 점검과 같은 결과를 가져 왔습니다.

  • Xmax가 여전히 1 개 연합 멤버 (Teodor Sigaev)와 다각적 인 튜플을 동결 할 때 잠재적 인 데이터 손상 범퍼카 토토

  • 정수 오버플로와 10 억 개 이상의 튜플을 정렬 할 때 충돌을 피하십시오 (Sergey Koposov)

  • Windows에서 새로운 프로세스 (Tom Lane, Amit Kapila)에서 공유 메모리에 대한 주소 범위를 예약하지 않으면 재 시도 프로세스 생성

    이것은 바이러스 백신 제품의 간섭으로 인한 드문 아동 프로세스 출시 실패를 범퍼카 토토해야합니다.

  • Windows 빌드에서 공유 술어 잠금 해시 테이블의 낮은 활성화 부패 범퍼카 토토 (Thomas Munro, Tom Lane)

  • 연결 재설정 (Michael Paquier)처럼 SSL 연결의 깨끗한 폐쇄를 피하십시오

  • 고객에게 SSL 세션 티켓 발송 방지 (Tom Lane)

    이 범퍼카 토토 사항은 티켓 인식 클라이언트 측 SSL 코드로 재 연결 실패를 방지합니다.

  • 설정을위한 코드 범퍼카 토토TCP_KEEPALIVES_IDLEOn Solaris (Tom Lane)

  • Postmaster 종료 및 즉시 다시 시작 (Tom Lane) 직후에 발행 된 문의 메시지를 기리기 위해 통계 수집가를 범퍼카 토토하십시오.

    이전 포스트 마스터 셧다운의 0.5 초 이내에 발행 된 통계 문의는 효과적으로 무시되었습니다.

  • 통계 수집가의 수신 버퍼 크기가 100KB 이상인지 확인하십시오 (Tom Lane)

    이것은 기본 수신 버퍼 크기가 그보다 적은 기존 플랫폼에서 통계 데이터 삭제 위험을 줄입니다.

  • 대기가 처리 된 직후에 대기가 홍보 될 때 유효하지 않은 WAL 세그먼트의 가능한 생성 범퍼카 토토xlog_switchWal Record (Andres Freund)

  • 범퍼카 토토Walsender클라이언트가 종료를 요청할 때 즉시 종료하려면 (Tom Lane)

  • 범퍼카 토토Sighupandsigusr1Walsender 프로세스 처리 (Petr Jelinek, Andres Freund)

  • 셧다운 체크 포인트 중 Walsender 트리거 공황 방지 (Andres Freund, Michael Paquier)

  • 불필요하게 느린 재시작을 범퍼카 토토WalreceiverPostmaster (Tom Lane)의 인종 조건으로 인한 프로세스

  • 논리적 디코딩 (Andres Freund) 중에 디스크에 쏟아진 작은 잠수함의 누출 범퍼카 토토

    이로 인해 임시 파일이 과도한 디스크 공간을 소비했습니다.

  • 논리적 디코딩 슬롯 (Andres Freund, Petr Jelinek)을 생성하는 동안 스냅 샷을 구축하는 데 필요한 작업 감소

    이전 알고리즘은 열린 트랜잭션이 많은 서버에서 무자비하게 비싸다.

  • 논리적 디코딩 슬롯 생성 (Andres Freund, Petr Jelinek)

  • SYSCACHE Invalidation Events (Tom Lane) 처리시 오버 헤드 감소

    이것은 자주 캐시 무효화를 유발하는 논리적 디코딩에 특히 도움이됩니다.

  • an을 범퍼카 토토하십시오삽입또는업데이트도메인 오버 배열 유형 (Tom Lane) 인 열의 둘 이상의 요소에 할당

  • 서브에서 창 함수를 사용할 수 있도록하십시오.select집계 함수 (Tom Lane)의 인수 내에있는

  • 자율적 인 배열 유형 이동 중Alter ... Rename(Vik Fearing)

    이전에, 우리는 충돌하는자가 생성 배열 유형의 이름을 바꾸는 동안Create; 이 범퍼카 토토 사항은 해당 동작이 운영 변경으로 확장됩니다.

  • 매달린 포인터 범퍼카 토토Alter Table테이블에 속하는 제약 조건에 대한 의견이있을 때 (David Rowley)

    재구성 된 제약 조건에 주석을 다시 적용하는 것은 이상한 오류 메시지로 실패 할 수 있습니다.

  • Alter User ... Set모든 구문 변형을 허용합니다.ALTER 역할 ... 세트do (Peter Eisentraut)

  • 데이터 유형을 변경할 때 종속성 정보를 올바르게 업데이트합니다 I/O 인수 또는 리턴 유형에서opaque올바른 유형 (Heikki Linnakangas)

    유형 만들기업데이트 I/O 기능은이 장기적인 스타일로 선언되었지만 유형에 대한 종속성을 기록하는 것을 잊어 버렸습니다.드롭 타입깨진 기능 정의를 남겨 두려면.

  • 분석프로세스 atsvector열 (Heikki Linnakangas)

  • 곱하거나 나누는 경우 불필요한 정밀 손실 및 조잡한 반올림 범퍼카 토토Money정수 또는 부유물에 의한 값 (Tom Lane)

  • 식별자를 구문 분석하는 함수의 공백 검사를 조여regprocedurein ()(Tom Lane)

    일반적인 로케일에 따라 이러한 기능은 멀티 바이트 문자의 조각을 공백으로 잘못 해석 할 수 있습니다.

  • 관련성 사용#define컴파일하는 동안 Perl의 기호pl/perl(Ashutosh Sharma, Tom Lane)

    이것은 휴대 성 문제를 피하고 일반적으로 A로 나타납니다"핸드 셰이크"최근의 Perl 버전으로 작업 할 때 라이브러리로드 중 불일치.

  • inlibpq, 연결 실패 시도 (Michael Paquier) 후 GSS/SASL 및 SSPI 인증 상태를 올바르게 재설정합니다.

    이 작업을 수행하지 못하면 SSL에서 비 SSL 연결로 떨어질 때 SSL 시도에서 GSS/SASL 실패는 항상 비 SSL 시도가 실패 할 수 있음을 의미합니다. SSPI는 실패하지 않았지만 메모리가 유출되었습니다.

  • inPSQL, 고장stdin에서 복사키보드 EOF 신호로 끝납니다.stdin에서 복사시도되었습니다 (Thomas Munro)

    이 오해는 BSD 유래 플랫폼 (MACOS 포함)에서 관찰되었지만 대부분의 다른 사람들에게는 그렇지 않았습니다.

  • 범퍼카 토토pg_dumpand​​PG_RESTORE방출 할Refresh Resisized ViewCommands Last (Tom Lane)

    이것은 구체화 된보기가 다른 사용자가 소유 한 테이블을 말할 때 덤프/복원 중에 오류를 방지합니다.

  • 개선pg_dump/​​PG_RESTORE'의 오류 조건에 대한보고Zlib(Vladimir Kunschikov, Álvaro Herrera)

  • 범퍼카 토토pg_dumpwith-Clean예상대로 이벤트 트리거를 떨어 뜨리는 옵션 (Tom Lane)

    이제 이벤트 트리거 소유권을 올바르게 할당합니다. 이전에는 복원 스크립트를 실행하는 슈퍼 서서가 소유 한 것으로 복원되었습니다.

  • 범퍼카 토토pg_dump빈 연산자 클래스 (Daniel Gustafsson)에 대해 유효하지 않은 SQL을 방출하지 않음

  • 범퍼카 토토pg_dumpWindows에서 Stdout으로 출력 (Kuntal Ghosh)

    stdout에 작성된 압축 된 일반 텍스트 덤프에는 파일 디스크립터를 이진 모드에 넣지 않아 부패한 데이터가 포함됩니다.

  • 범퍼카 토토pg_get_ruledef ()에 대한 올바른 출력을 인쇄하려면ON SELECT열이 바뀌는 뷰의 규칙 (Tom Lane)

    일부 코너 케이스에서pg_dump의존pg_get_ruledef ()덤프 뷰를 위해서는이 오류가 덤프/재 장전 실패를 초래할 수 있습니다.

  • a와 같은 빈 제약으로 외부 조인의 덤핑 범퍼카 토토자연 왼쪽 조인공통 열이 없음 (Tom Lane)

  • From표현식이 함수 호출처럼 보이는 무언가로 붕괴되지 않는 경우 (Tom Lane).

  • 범퍼카 토토pg_basebackupWindows에서 Stdout으로 출력 (Haribabu Kommi)

    STDOUT에 작성된 백업에는 파일 디스크립터를 이진 모드에 넣지 않아 부패한 데이터가 포함됩니다.

  • 범퍼카 토토pg_rewind2GB 초과 파일을 올바르게 처리하려면 (Kuntal Ghosh, Michael Paquier)

    일반적으로 그러한 파일이 나타나지 않습니다postgresql데이터 디렉토리이지만 경우에 따라있을 수 있습니다.

  • 범퍼카 토토pg_upgrade종말 WAL 레코드에 없음을 확인하려면Wal_Level = 최소(Bruce Momjian)

    이 조건은 업그레이드 된 대기 서버를 다시 연결하는 것을 방지 할 수 있습니다.

  • 범퍼카 토토pg_xlogdump의 WAL 레코드 길이 계산 (Andres Freund)

  • inpostgres_fdw, 이후 원격 서버에 대한 연결을 다시 설정Alter Server또는사용자 매핑 변경명령 (Kyotaro Horiguchi)

    이렇게하면 연결 매개 변수에 영향을 미치는 옵션 변경이 즉시 적용됩니다.

  • inpostgres_fdw, 원격 트랜잭션 제어 명령 취소 허용 (Robert Haas, Rafia Sabih)

    이 변경 사항은 이전보다 더 많은 경우에 반응이없는 원격 서버를 기다릴 수 있습니다.

  • 증가max_syscache_callbacks확장을위한 더 많은 공간을 제공하려면 (Tom Lane)

  • 항상 사용-fpic, 아님-fpic, GCC (Tom Lane)로 공유 라이브러리를 구축 할 때

    이것은 차이를 만드는 플랫폼에서 더 큰 확장 라이브러리를 지원합니다.

  • 최근 Perl 버전 (Andrew Dunstan)의 경고 또는 오류를 피하기 위해 Microsoft MSVC의 빌드 스크립트에서 Unescaped-Braces 문제를 범퍼카 토토하십시오.

  • MSVC가 구축되는 경우를 처리하는 경우OpenSSL11834_11857VC하위 디렉토리 (Andrew Dunstan)

  • MSVC 빌드에서 적절한 포함 경로 추가libxml2헤더 파일 (Andrew Dunstan)

    이것은 표준 Windows 설치에 물건을 움직일 필요가있는 전자를 범퍼카 토토합니다.libxml2.

  • MSVC 빌드에서 이름이 지정된 TCL 라이브러리를 인식하십시오tcl86.lib(Noah Misch)

  • MSVC 빌드, 명예provace_flags설정에서vcregress.pl의 명령 줄 (Andrew Dunstan)