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

E.2. 릴리스 9.2.23

출시일: 2017-08-31

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

포스트그레SQL커뮤니티는 9.2.X 릴리스 시리즈에 대한 업데이트 릴리스를 9월에 중단합니다. 2017. 사용자는 최신 릴리스 브랜치로 업데이트하는 것이 좋습니다. 곧.

E.2.1. 버전 9.2.23으로 마이그레이션

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

그러나 다음 버전보다 이전 버전에서 업그레이드하는 경우 9.2.22, 참조PostgreSQL : 문서 : 9.2 : 스포츠 토토 베트맨 9.2.22.

E.2.2. 변경사항

  • 외국 테이블 표시정보_스키마.table_privileges보기 (피터 아이젠트라우트)

    기타 관련 모든정보_스키마조회수에는 외국 포함 테이블이 있지만 이 테이블은 무시했습니다.

    이 보기 정의는 다음에 의해 설치되었으므로initdb, 업그레이드만으로는 문제가 해결되지 않습니다. 문제. 기존에서 이 문제를 해결해야 하는 경우 설치 시 슈퍼유저로서 이 작업을 수행할 수 있습니다.psql:

    search_path를 information_schema로 설정;
    VIEW table_privileges AS 생성 또는 교체
        SELECT CAST(u_grantor.rolname AS sql_identifier) AS 부여자,
               CAST(grantee.rolname AS sql_identifier) AS 피부여자,
               CAST(current_database() AS sql_identifier) AS 테이블_카탈로그,
               CAST(nc.nspname AS sql_identifier) AS 테이블_스키마,
               CAST(c.relname AS sql_identifier) AS 테이블_이름,
               CAST(c.prtype AS 문자_데이터) AS 특권_유형,
               캐스트(
                 언제의 경우
                      -- 객체 소유자에게는 항상 부여 옵션이 있습니다.
                      pg_has_role(grantee.oid, c.relowner, '사용법')
                      또는 c.허가 가능
                      THEN 'YES' ELSE 'NO' END AS yes_or_no) AS is_grantable,
               CAST(CASE WHEN c.prtype = 'SELECT' THEN 'YES' ELSE 'NO' END AS yes_or_no) AS with_hierarchy
    
        에서 (
                SELECT oid, relname, relnamespace, relkind, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).* FROM pg_class
             ) AS c (oid, relname, relnamespace, relkind, 소유주, 양도자, 수혜자, prtype, 부여 가능),
             pg_namespace NC,
             pg_authid u_grantor,
             (
               pg_authid에서 oid, rolname 선택
               유니온 올
               0::oid, '공개'를 선택하세요.
             ) AS 수혜자(oid, rolname)
    
        어디에서 c.relnamespace = nc.oid
              AND c.relkind IN ('r', 'v', 'f')
              AND c.grantee = grantee.oid
              그리고 c.grantor = u_grantor.oid
              AND c.prtype IN ('INSERT', 'SELECT', 'UPDATE', 'DELETE', 'TRUNCATE', 'REFERENCES', 'TRIGGER')
              AND (pg_has_role(u_grantor.oid, '사용법')
                   또는 pg_has_role(grantee.oid, '사용법')
                   또는 피부여자.rolname = 'PUBLIC');

    수정하려면 각 데이터베이스에서 이 작업을 반복해야 합니다. 포함템플릿0.

  • 치명적인 종료 처리 정리(예: 수신으로 인해) 의SIGTERM) 발생 a를 실행하려고 시도하는 동안롤백실패한 거래의 (Tom Lane)

    이 상황은 어설션 실패를 초래할 수 있습니다. 에서 프로덕션 빌드에서는 종료가 계속 발생하지만 에 대한 예상치 못한 메시지를 기록합니다."할 수 없습니다 활성 포털 삭제".

  • 치명적인 종료 중에 트리거될 수 있는 어설션 제거 (톰 레인)

  • 범위 유형의 열을 올바르게 식별하거나 복합 유형 또는 도메인 유형에 대한 도메인 유형 (톰 레인)을 검색했습니다.

    확실함변경다음 명령을 내립니다. 복합 유형 또는 도메인 유형의 정의 변경 해당 값이 저장되어 있으면 실패할 것으로 예상됩니다. 인프라가 부족하기 때문에 데이터베이스에 입력하세요. 그러한 값을 업데이트하거나 확인하는 데 필요합니다. 이전에는 이러한 검사에서 내부에 포함된 관련 값이 누락될 수 있습니다. 범위 유형 또는 하위 도메인(아마도 데이터베이스 허용) 일관성이 없게 됩니다.

  • 변경ecpg의 파서 허용돌아오는 중절 없음 첨부된 C 변수(Michael Meskes)

    이렇게 하면ecpg다음을 사용하는 SQL 구성을 포함하는 프로그램돌아오는 중내부적으로(예를 들어, CTE)를 사용하여 반환할 값을 정의하는 대신 클라이언트에게.

  • PL/Perl에 대한 컴파일러 플래그 선택 개선 윈도우(톰 레인)

    이 수정은 다음으로 인한 PL/Perl의 충돌 가능성을 방지합니다. 너비에 대한 일관되지 않은 가정time_t값. 발생할 수 있는 부작용 확장 개발자에게 보이는 것은_USE_32BIT_TIME_T더 이상 정의되지 않습니다. 전 세계적으로PostgreSQL윈도우 빌드. 이로 인해 문제가 발생할 것으로 예상되지는 않습니다. 유형 때문에time_t다음에서는 사용되지 않습니다. 모두PostgreSQLAPI 정의.