이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

E.18. 릴리스 9.4.9

출시일: 2016-08-11

이 릴리스에는 9.4.8의 다양한 수정 사항이 포함되어 있습니다. 9.4 주요 릴리스의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.PostgreSQL : 문서 : 9.4 : 사설 토토 9.4.

E.18.1. 버전 9.4.9로 마이그레이션

9.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.

그러나 9.4.6 이전 버전에서 업그레이드하는 경우 참조PostgreSQL : 문서 : 9.4 : 롤 토토 9.4.6.

E.18.2. 변경사항

  • 중첩의 잘못된 평가 가능성 수정사례-언제표현식 (Heikki Linnakangas, Michael Paquier, Tom Lane)

    A 사례다른 테스트 값 하위 표현식 내에 나타나는 표현식사례자체 테스트 값이 null인지 아닌지에 대해 혼란스러울 수 있습니다. 또한 a에서 사용되는 항등 연산자를 구현하는 SQL 함수의 인라인사례표현식은 a 내에서 호출된 함수에 잘못된 테스트 값을 전달할 수 있습니다.사례SQL 함수 본문의 표현식입니다. 테스트 값의 토토 커뮤니티터 유형이 다른 경우 충돌이 발생할 수 있습니다. 더욱이 그러한 상황은 서버 메모리의 일부를 공개하도록 남용될 수 있습니다. (CVE-2016-5423)

  • 클라이언트 프로그램의 토토 커뮤니티터베이스 및 역할 이름의 특수 문자 처리 문제 수정(Noah Misch, Nathan Bossart, Michael Paquier)

    많은 장소vacuumdb및 기타 클라이언트 프로그램은 큰따옴표나 백슬래시가 포함된 토토 커뮤니티터베이스 및 역할 이름으로 인해 혼동될 수 있습니다. 안전을 위해 인용 규칙을 강화하세요. 또한 conninfo 문자열이 이러한 프로그램에 대한 토토 커뮤니티터베이스 이름 매개변수로 사용될 때 전체적으로 올바르게 처리되는지 확인하십시오.

    쌍으로 묶인 큰따옴표 처리 문제 수정psql\연결그리고\비밀번호문서와 일치하는 명령입니다.

    새로운 것을 소개-재사용-이전옵션 포함psql's\연결이전 연결의 연결 매개변수를 재사용할지 여부를 명시적으로 제어할 수 있는 명령입니다. (이것이 없으면 선택은 이전과 같이 데이터베이스 이름이 conninfo 문자열처럼 보이는지 여부에 따라 결정됩니다.) 이를 통해 특수 문자가 포함된 데이터베이스 이름을 안전하게 처리할 수 있습니다.pg_dumpall스크립트.

    pg_dumpall이제 캐리지 리턴이나 개행 문자가 포함된 토토 커뮤니티터베이스 및 역할 이름 처리를 거부합니다. Windows에서 해당 문자를 안전하게 인용하는 것이 비현실적인 것처럼 보이기 때문입니다. 앞으로는 서버 측에서 이러한 이름을 거부할 수 있지만 아직 해당 단계는 수행되지 않았습니다.

    특수 문자를 포함하는 조작된 개체 이름이 다음에 슈퍼유저가 실행될 때 슈퍼유저 권한으로 명령을 실행하는 데 사용될 수 있기 때문에 이는 보안 수정으로 간주됩니다.pg_dumpall또는 기타 일상적인 유지 관리 작업. (CVE-2016-5424)

  • 다음에 대한 코너 케이스 오작동 수정NULL임/NULL이 아닙니다중첩된 복합 값에 적용됨(Andrew Gierth, Tom Lane)

    SQL 표준은 다음을 지정합니다.NULL임모든 null 값의 행에 대해 TRUE를 반환해야 합니다(따라서행(NULL,NULL)은 NULL입니다.TRUE를 산출함) 그러나 이는 재귀적으로 적용하려는 의미는 아닙니다(따라서ROW(NULL, ROW(NULL,NULL))는 NULL입니다.거짓 결과를 나타냄). 핵심 실행자는 이를 올바르게 수행했지만 특정 플래너 최적화에서는 테스트를 재귀적으로 처리했습니다(따라서 두 경우 모두 TRUE를 생성함).contrib/postgres_fdw비슷하게 오작동하는 원격 쿼리를 생성할 수 있습니다.

  • 만들으세요inet그리고cidr토토 커뮤니티터 유형은 콜론으로 구분된 필드가 너무 많은 IPv6 주소를 적절하게 거부합니다(Tom Lane)

  • 충돌 방지close_ps()(그포인트 ## lseg9741_9790

    충돌하는 대신 NULL을 반환하도록 만드세요.

  • 충돌 가능성을 방지하세요pg_get_expr()일관되지 않은 값이 전달될 때 (Michael Paquier, Thomas Munro)

  • 몇 가지 1바이트 버퍼 초과 읽기 수정to_number()(피터 아이젠트라우트)

    몇 가지 경우에to_number()함수는 입력 문자열에서 필요한 것보다 하나 더 많은 문자를 읽습니다. 입력이 메모리 끝에 인접하게 발생하면 충돌이 발생할 가능성이 적습니다.

  • 다음에 포함된 쿼리에 대해 플래너를 실행하지 마십시오.구체화된 뷰 생성또는다음으로 테이블 생성언제토토 커뮤니티터 없음지정됨(Michael Paquier, Tom Lane)

    이는 예를 들어 구체화된 뷰에 의해 호출된 안정적인 함수가 아직 존재하지 않는 테이블에 의존하는 경우와 같은 불필요한 실패 조건을 방지합니다.

  • 비용이 많이 드는 경로를 통과하는 동안 안전하지 않은 중간 상태를 방지힙_업토토 커뮤니티트()(사와다 마사히코, 안드레스 프로인드)

    이전에는 이러한 경우 대상 튜플을 잠그었지만(XMAX 설정을 통해) 해당 작업을 WAL에 기록하지 않았습니다. 따라서 페이지가 디스크에 넘치고 튜플 업데이트가 완료되기 전에 데이터베이스 충돌이 발생한 경우 데이터 무결성 문제가 발생할 위험이 있었습니다.

  • 행 잠금 작업의 WAL 재생 중 힌트 비트 업토토 커뮤니티트 수정(Andres Freund)

    이 문제의 알려진 유일한 결과는 준비되었지만 커밋되지 않은 트랜잭션에 의해 유지된 행 잠금이 충돌 및 재시작 후 적용되지 않을 수 있다는 것입니다.

  • 불필요한 것을 피하세요"액세스를 직렬화할 수 없습니다"획득 시 오류키 공유용직렬화 모드의 행 잠금(Álvaro Herrera)

  • 충돌 방지포스트그레스 -C지정된 변수에 null 문자열 값이 있는 경우 (Michael Paquier)

  • 논리적 디코딩에서 대규모 하위 트랜잭션의 손실 가능성 수정(Petru-Florin Mihancea)

  • 하위 트랜잭션에 실제 변경 사항이 없을 때 논리적 디코딩 실패 수정 (Marko Tiikkaja, Andrew Gierth)

  • 백엔드가 공유 카탈로그에 대한 최신 통계를 볼 수 있는지 확인하세요(Tom Lane)

    통계 수집기가 일반 백엔드의 요청 이후 공유 카탈로그에 대한 통계 파일을 업토토 커뮤니티트하지 못했습니다. Autovacuum 실행 프로그램이 이러한 업토토 커뮤니티트를 발생시키는 요청을 정기적으로 생성하기 때문에 이 문제는 부분적으로 가려졌습니다. 그러나 autovacuum이 비활성화되면서 명백해졌습니다.

  • 여러 백엔드가 함께 업토토 커뮤니티트를 요청할 때 통계 파일의 중복 쓰기 방지 (Tom Lane, Tomas Vondra)

  • 이동 중에는 거래 ID를 사용하지 마세요.진공(알렉산더 코로트코프)

    일부 사례진공불필요하게 현재 트랜잭션에 XID가 할당되었습니다. 일반적으로 이는 무시할 수 있지만 XID 랩어라운드 제한에 도달하는 경우 랩어라운드 방지 진공 중에 더 많은 XID를 소비하는 것은 매우 나쁜 일입니다.

  • 중 핫 대기 쿼리 취소를 피하세요.진공 동결(사이먼 리그스, 알바로 에레라)

    진공 동결그렇지 않으면 유휴 마스터 서버에서 대기 서버의 쿼리가 불필요하게 취소될 수 있습니다.

  • 9.3 이전에서 pg_upgrade'd된 설치에서 multixact ID를 비울 때 발생할 수 있는 오류 방지(Andrew Gierth, Álvaro Herrera)

    이 버그의 일반적인 증상은 다음과 같은 오류입니다."MultiXactIdNNN아직 생성되지 않았습니다 -- 명백한 랩어라운드".

  • 설명서일 때분석열 목록을 지정합니다. 테이블을 재설정하지 마세요.changes_since_analyze카운터 (톰 레인)

    일부 열만 분석하는 경우 다른 열에 대한 일상적인 자동 분석이 발생하는 것을 막아서는 안됩니다.

  • 수정분석의 과대평가n_distinct널 항목이 많은 고유하거나 거의 고유한 열의 경우(Tom Lane)

    Null은 그 자체가 고유한 값인 것처럼 계산될 수 있으며, 이로 인해 일부 유형의 쿼리에서 플래너가 심각한 잘못된 추정을 할 수 있습니다.

  • autovacuum이 동일한 공유 카탈로그에 대해 여러 작업자를 시작하지 못하도록 방지(Álvaro Herrera)

    어쨌든 진공청소는 오래 걸리지 않기 때문에 일반적으로 이것은 큰 문제가 되지 않습니다. 그러나 카탈로그가 심하게 비대해진 경우 한 명의 작업자를 제외한 모든 작업자가 다른 테이블에서 유용한 작업을 수행하는 대신 쓸데없이 기다리게 될 수 있습니다.

  • b-트리 인덱스 페이지 삭제 시도를 포기할 때 중복된 버퍼 잠금 해제 방지(Tom Lane)

    이 실수를 방지했습니다진공어떤 경우에는 손상된 b-트리 색인과 관련된 완료가 불가능합니다.

  • NaN 구성 요소 값을 포함하는 기하학적 열에 대한 GiST 인덱스 빌드에서 무한 루프 방지(Tom Lane)

  • 수정contrib/btree_gin가능한 가장 작은 것을 처리하기 위해bigint값이 정확함(Peter Eisentraut)

  • libpq에게 향후 서버의 서버 버전을 올바르게 디코딩하도록 가르치십시오(Peter Eisentraut)

    9.6 이후 릴리스에서는 세 부분으로 구성된 서버 버전 번호 대신 두 부분으로 전환할 계획입니다. 다음을 확인하세요.PQ서버버전()이런 경우에는 올바른 값을 반환합니다.

  • 수정ecpg의 코드:부호 없는 롱 롱배열 요소(Michael Meskes)

  • pg_dump둘 다 포함-c그리고-C옵션, 원하지 않는 내용을 내보내지 않도록 하세요공개 스키마 생성명령(토토 커뮤니티비드 존스턴, 톰 레인)

  • 처리 개선SIGTERM/control-C 병렬pg_dump그리고pg_restore(톰 레인)

    작업자 프로세스가 즉시 종료되는지 확인하고, 다음과 같은 장기 실행 작업을 수행하는 경우 연결된 백엔드에 쿼리 취소 요청을 보내도록 준비하십시오.색인 생성.

  • 오류 보고를 동시에 수정pg_dump그리고pg_restore(톰 레인)

    이전에 보고된 오류는 다음과 같습니다.pg_dump또는pg_restore작업자 프로세스는 메시지가 마스터 프로세스를 통과했고 마스터 프로세스가 메시지를 전달하지 못하게 하는 다양한 교착 상태 시나리오가 있었기 때문에 사용자 콘솔에 도달하지 못할 수 있습니다. 대신 모든 내용을 다음으로 인쇄하세요.stderr. 어떤 경우에는 중복된 메시지가 발생하지만(예: 모든 작업자가 서버 종료를 보고하는 경우) 메시지가 없는 것보다는 나을 것 같습니다.

  • 병렬을 보장하세요pg_dump또는pg_restoreWindows에서는 오류 발생 후 제대로 종료됩니다(호리구치 쿄타로)

    이전에는 오류를 보고했지만 사용자가 수동으로 중지할 때까지 그대로 앉아 있었습니다.

  • 만들다pg_dumpzlib 지원 없이 빌드하면 더 잘 동작합니다(Kyotaro Horiguchi)

    병렬 덤프에서는 제대로 작동하지 않았고 다른 경우에는 다소 무의미한 경고를 내보냈습니다.

  • 만들다pg_basebackup수락-Z 0무압축 지정으로(Fujii Masao)

  • AIX 공유 라이브러리를 병렬 make에 안전하게 구축하기 위한 makefile 규칙 수정(Noah Misch)

  • 빌드 디렉토리의 경로 이름에 공백이 포함되어 있을 때 작동하도록 TAP 테스트 및 MSVC 스크립트 수정 (Michael Paquier, Kyotaro Horiguchi)

  • 보고에 대한 예측 가능성 향상"문 시간 초과""잠금 시간 초과"(톰 레인)

    로드가 많은 시스템에서는 보고로 인해 회귀 테스트가 실패하는 경우가 있었습니다."잠금 시간 초과"문 시간 초과가 먼저 발생했어야 했지만.

  • 덴마크어와 웨일스어 로케일에 대한 회귀 테스트를 안전하게 만듭니다(Jeff Janes, Tom Lane)

    이 로케일의 비정상적인 정렬 규칙을 유발하는 일부 테스트 토토 커뮤니티터를 변경하십시오.

  • IANA와 일치하도록 시간대 코드 사본 업토토 커뮤니티트tzcode2016c 출시(톰 레인)

    이는 시간대 데이터 파일의 향후 예상되는 변경 사항에 대처하는 데 필요합니다. 또한 비정상적인 시간대에 대처할 때 발생하는 일부 특수한 버그를 수정합니다.

  • 다음으로 시간대 데이터 파일 업데이트tzdata케메로보 및 노보시비르스크의 DST 법률 변경 사항과 아제르바이잔, 벨로루시, 모로코의 역사적 수정 사항에 대한 2016f 릴리스입니다.