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

E.12. 릴리스 9.3.14

출시일: 2016-08-11

이 릴리스에는 9.3.13의 다양한 수정 사항이 포함되어 있습니다. 에 대한 9.3 주요 릴리스의 새로운 기능에 대한 자세한 내용은 참조토토 사이트 순위 PostgreSQL : 문서 : 9.3 : 릴리스 9.3.

E.12.1. 버전 9.3.14로 마이그레이션

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

그러나 9.3.9 이전 버전에서 업그레이드하는 경우, 참조토토 커뮤니티 : 문서 : 9.3 : 릴리스 9.3.9.

E.12.2. 변경사항

  • 중첩의 잘못된 평가 가능성 수정사례-언제표현 (헤이키 린나캉가스, 마이클 파퀴어, 톰 레인)

    A 사례표현식은 다음에 나타납니다. 다른 값의 하위 표현식 테스트사례자체 테스트 값이 null인지 또는 null인지에 대해 혼동될 수 있습니다. 아닙니다. 또한 동등성을 구현하는 SQL 함수의 인라인 a에서 사용하는 연산자사례표현식은 다음과 같습니다. 결과적으로 a 내에서 호출된 함수에 잘못된 테스트 값이 전달됩니다.사례SQL 함수의 표현식 몸. 테스트 값의 토토 베이터 유형이 다른 경우 충돌이 발생합니다. 결과가 나올 수도 있습니다; 게다가 그러한 상황은 남용되어 허용될 수 있습니다. 서버 메모리 일부 공개. (CVE-2016-5423)

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

    많은 장소vacuumdb그리고 다른 클라이언트 프로그램은 토토 베이터베이스와 역할로 인해 혼동될 수 있습니다. 큰따옴표나 백슬래시가 포함된 이름입니다. 인용을 강화하라 안전하게 만드는 규칙. 또한 conninfo 문자열이 이러한 프로그램에 대한 토토 베이터베이스 이름 매개변수로 사용됩니다. 전체적으로 올바르게 취급됩니다.

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

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

    pg_dumpall이제 거래를 거부합니다 캐리지 리턴이 포함된 토토 베이터베이스 및 역할 이름 또는 개행 문자는 해당 문자를 안전하게 인용하는 것이 비실용적이기 때문입니다. Windows에서. 앞으로는 서버 측에서 이러한 이름을 거부할 수 있습니다. 하지만 그 조치는 아직 취해지지 않았습니다.

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

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

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

  • 만들으세요inet그리고cidr토토 베이터 유형은 IPv6 주소도 올바르게 거부합니다. 콜론으로 구분된 많은 필드(Tom Lane)

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

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

  • 충돌 가능성을 방지하세요pg_get_expr()일관되지 않은 값이 전달된 경우 그것에 (마이클 파퀴에, 토마스 먼로)

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

    몇 가지 경우에to_number()함수는 필요한 것보다 하나 더 많은 문자를 읽습니다. 입력 문자열. 입력하면 충돌이 발생할 가능성이 적습니다. 우연히 기억의 끝 부분에 인접해 있습니다.

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

    이것은 불필요한 실패 조건을 방지합니다. 예를 들어 다음과 같습니다. 구체화된 뷰에 의해 호출되는 안정적인 함수는 다음에 따라 달라집니다. 아직 존재하지 않는 테이블입니다.

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

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

  • 행 잠금 작업의 WAL 재생 중 힌트 비트 업토토 베이트 수정 (안드레스 프로인드)

    이 문제의 알려진 유일한 결과는 행 잠금입니다. 준비되었지만 커밋되지 않은 트랜잭션이 보유하고 있으면 트랜잭션이 실패할 수 있습니다. 충돌 후 다시 시작되면 적용됩니다.

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

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

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

    통계 수집기가 통계 파일을 업토토 베이트하지 못했습니다. 일반 백엔드의 요청 후 공유 카탈로그의 경우. 이 autovacuum 실행 프로그램으로 인해 문제가 부분적으로 가려졌습니다. 그러한 업토토 베이트를 유발하는 요청을 정기적으로 수행합니다. 그러나 그것은 autovacuum이 비활성화되면서 명백해졌습니다.

  • 여러 개일 때 통계 파일의 중복 쓰기를 피하십시오 백엔드가 서로 가까운 업토토 베이트를 요청합니다(Tom Lane, Tomas 본드라)

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

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

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

    진공 동결다른 경우에는 유휴 상태 마스터 서버로 인해 쿼리가 불필요하게 취소될 수 있음 대기 서버에 있습니다.

  • 다중 ID를 진공청소할 때 발생할 수 있는 오류를 방지합니다. 9.3 이전 버전에서 pg_upgrade'd된 설치(Andrew Gierth, 알바로 에레라)

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

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

    우리가 일부 열만 분석하고 있다면 다음을 방지해서는 안 됩니다. 다른 열에 대해서는 루틴 자동 분석이 발생하지 않습니다.

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

    Null은 마치 그 자체인 것처럼 계산될 수 있습니다. 고유한 가치로 인해 일부 계획에서는 심각한 기획자가 잘못된 평가를 받게 됩니다. 쿼리 유형입니다.

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

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

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

  • 수정contrib/btree_gin처리하기 위해 가능한 가장 작은bigint값이 정확함 (피터 아이젠트라우트)

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

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

  • 수정ecpg의 코드:부호 없는 롱 롱배열 요소(마이클 메스케스)

  • 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_dump다음에 더 잘 행동하세요 zlib 지원 없이 구축됨(Kyotaro Horiguchi)

    병렬 덤프에서는 제대로 작동하지 않았고 오히려 일부를 방출했습니다. 다른 경우에는 무의미한 경고입니다.

  • 만들다pg_basebackup수락-Z 0비압축 지정으로(Fujii 마사오)

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

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

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

    로드가 심한 기계에서는 때때로 회귀 테스트가 수행됩니다. 보고로 인해 실패했습니다."잠금 시간 초과"문 시간 초과가 먼저 발생했어야 했지만.

  • 회귀 테스트를 덴마크어와 웨일스어 로케일에서 안전하게 만드세요(Jeff 제인스, 톰 레인)

    비정상적인 정렬 규칙을 실행한 일부 테스트 토토 베이터 변경 이 로케일 중 하나입니다.

  • IANA와 일치하도록 시간대 코드 사본 업토토 베이트tzcode토토 베이 2016c(톰 레인)

    이는 예상되는 미래의 변화에 대처하기 위해 필요합니다. 시간대 데이터 파일. 또한 대처 시 일부 코너 케이스 버그를 수정합니다. 시간대가 특이합니다.

  • 다음으로 시간대 데이터 파일 업데이트tzdata2016f 릴리스: DST 법률 변경 사항 케메로보와 노보시비르스크, 그리고 역사적 수정 아제르바이잔, 벨로루시, 모로코.