2025 년 7 월 17 일 : | Postgresql 18 베타 2 젠 토토!
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

E.20. 릴리스 9.6.5

출시 날짜 : 2017-08-31

이 릴리스에는 9.6.4에서 소수의 수정 사항이 포함되어 있습니다. 9.6 주요 릴리스의 새로운 기능에 대한 정보는 참조무지개 토토 PostgreSQL : 문서 : 9.6 : 릴리스 9.6.

E.20.1. 버전 9.6.5로의 마이그레이션

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

그러나 9.6.4 이전 버전에서 업그레이드하는 경우 참조PostgreSQL : 문서 : 9.6 : 토토 베이 9.6.4.

E.20.2. 변화

  • 외국 테이블 표시Information_Schema.table_privilegesView (Peter Eisentraut)

    다른 모든 관련Information_Schema보기에는 외국 테이블이 포함되어 있지만 이것은 무시했습니다.

    이보기 정의가 설치되므로initdb, 단순히 업그레이드하면 문제가 해결되지 않습니다. 기존 설치 에서이 문제를 해결 해야하는 경우 슈퍼업자 로서이 작업을 수행 할 수 있습니다.PSQL:

    search_path를 information_schema로 설정합니다.
    Table_Privileges를 뷰를 작성하거나 교체하십시오
        Cast (u_grantor.rolname As SQL_Identifier)를 수 여자로 선택하십시오.
               캐스트 (Grantee.rolname As SQL_Identifier), Grantee,
               cast (current_database ()는 sql_identifier로) table_catalog로,
               cast (sql_identifier로 nc.nspname) table_schema,
               cast (c.relname은 sql_identifier로) table_name으로,
               cast (c.prtype as as aparation_data) prodilege_type,
               깁스(
                 언제
                      - 오브젝트 소유자는 항상 보조금 옵션이 있습니다
                      PG_HAS_ROLE (Grantee.Oid, C.Relowner, '사용법')
                      또는 c.grantable
                      그런 다음 '예'else '아니요'는 예 yes_or_no로 끝) is_grantable,
               cast (c.prtype = 'select'the 'yes'else 'no'no yes_or_no로 종료) with_hierarchy
    
        에서 (
                OID, Relname, Relnamespace, Relkind, Relowner, (AclexPlode (Coalesce (Relacl, Acldefault ( 'R', Relowner))))를 선택하십시오.* PG_CLASS에서.
             ) C (OID, RELNAME, RELNAMESPACE, RELKIND, RELOWNER, GRANDOR, GRANDEE, PRTYPE, GRANTABLE),
             pg_namespace nc,
             pg_authid u_grantor,
             (
               pg_authid에서 OID, rolname을 선택하십시오
               모두
               선택 0 :: OID, 'Public'
             ) Grantee (Oid, Rolname)
    
        여기서 c.relnamespace = nc.oid
              그리고 c.relkind in ( 'r', 'v', 'f')
              및 c.grantee = grantee.oid
              및 c.grantor = u_grantor.oid
              그리고 c.prtype in ( 'insert', 'select', 'update', 'delete', 'truncate', '참조', '트리거')
              그리고 (pg_has_role (u_grantor.oid, 'usage')
                   또는 PG_HAS_ROLE (Grantee.Oid, '사용법')
                   또는 grantee.rolname = 'public');

    이것은를 포함하여 각 데이터베이스에서 반복해야합니다.Template0.

  • 치명적인 출구의 취급 정리 (예 : 수령으로 인해sigterm) a를 실행하는 동안 발생합니다.롤백실패한 거래 (Tom Lane)

    이 상황으로 인해 주장 실패가 발생할 수 있습니다. 생산 빌드에서는 출구가 여전히 발생하지만에 대한 예기치 않은 메시지를 기록합니다."활성 포털을 삭제할 수 없음".

  • 치명적인 출구 (Tom Lane) 중에 유발할 수있는 주장 제거

  • 복합 젠 토토 또는 도메인 젠 토토에 대한 범위 젠 토토 또는 도메인 젠 토토의 열을 정확하게 식별합니다 (Tom Lane)

    확실한Alter복합 젠 토토 또는 도메인 젠 토토의 정의를 변경하는 명령은 해당 값을 업데이트하거나 확인하는 데 필요한 인프라가 없기 때문에 해당 젠 토토의 저장된 값이 있으면 해당 젠 토토의 저장된 값이 있으면 실패해야합니다. 이전에, 이러한 점검은 범위 젠 토토 또는 하위 도메인 내부에 래핑되는 관련 값을 놓칠 수있어 데이터베이스가 일관되지 않을 수 있습니다..

  • 고정 길이 패스 별 데이터 젠 토토을 병렬 작업자 프로세스 (Tom Lane)로 전달할 때 충돌 방지

  • 충돌 수정PG_RESTORE병렬 모드를 사용하고 목록 파일을 사용하여 복원 할 항목의 하위 집합을 선택할 때 (Fabrízio de Royes Mello)

  • 변경ECPGs 파서가 허용반환첨부되지 않은 Clauses c 변수 (Michael Meskes)

    이것은 허용ECPG사용하는 SQL 구조물을 포함하는 프로그램반환내부 (예 : CTE 내부)를 사용하여 클라이언트로 반환 할 값을 정의하는 대신

  • 변경ECPG의 파서 C Preprocessor 명령 줄 (Michael Meskes)의 백 슬래시 연속을 인식하는 파서

  • Windows의 PL/Perl에 대한 컴파일러 플래그 선택 개선 (Tom Lane)

    이 수정은의 폭에 대한 일관되지 않은 가정으로 인해 PL/Perl의 가능한 충돌을 피합니다time_t값. 확장 개발자에게 볼 수있는 부작용은입니다._use_32bit_time_t더 이상 전 세계적으로 정의되지 않습니다PostgreSQLWindows 빌드. 젠 토토이기 때문에 이것은 문제를 일으킬 것으로 예상되지 않습니다.time_tPostgreSQLAPI 정의.

  • 수정확인GNU Make 프로그램을 통해 호출 할 때 올바르게 행동하려면 (Thomas Munro)