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

E.200. 릴리스 7.4.2

출시일: 2004-03-08

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

E.200.1. 버전 7.4.2로 마이그레이션

7.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다. 그러나 가장 쉬운 방법으로 권장될 수 있습니다. 에서 발견된 두 가지 오류에 대한 수정 사항을 통합했습니다. 7.4.X 시스템 카탈로그의 초기 내용. 덤프/initdb/다시 로드 7.4.2의 initdb를 사용하는 시퀀스는 이러한 문제를 자동으로 수정합니다. 문제.

두 가지 오류 중 더 심각한 것은 해당 데이터 유형입니다.모든 배열정렬 라벨이 잘못되었습니다. 이것이 문제가 되는 이유는 다음과 같습니다.pg_statistic시스템 카탈로그 사용모든 배열열. 라벨을 잘못 지정하면 플래너가 문제를 일으킬 수 있습니다. 쿼리를 계획할 때 잘못된 예측이 발생하고 충돌이 발생하기도 합니다. 참여하다어디절 이중 정렬 열(예:float8그리고타임스탬프). 그것은 강하게 모든 설치에서 다음 중 하나를 수행하여 이 오류를 복구하는 것이 좋습니다. initdb 또는 제공된 수동 복구 절차에 따라 수행 아래.

더 적은 오류는 시스템 보기입니다.pg_settings있는 것으로 표시되어야 합니다 공개 업데이트 액세스, 허용업데이트 pg_settings대체로 사용됨세트. 이 문제는 initdb 또는 수동으로 사용하지만 사용하지 않는 한 수정할 필요는 없습니다.pg_settings 업데이트.

initdb를 수행하지 않으려면 다음 절차를 따르십시오. 문제를 해결하는 데 도움이 될 것입니다pg_statistic. 데이터베이스 슈퍼유저로서 다음을 수행합니다.

-- pg_statistic에서 오래된 데이터를 삭제합니다:
pg_statistic에서 삭제;
진공 pg_statistic;
-- 행 1개를 업데이트해야 합니다.
업데이트 pg_type SET typalign = 'd' WHERE oid = 2277;
-- 6개 행을 업데이트해야 합니다.
업데이트 pg_attribute SET attalign = 'd' WHERE atttypid = 2277;
--
-- 이 시점에서 충돌을 방지하려면 새로운 백엔드를 시작해야 합니다!
--
-- pg_statistic을 다시 채우십시오:
분석;

이것은 라이브 데이터베이스에서 수행될 수 있지만 모든 변경된 데이터베이스에서 실행 중인 백엔드를 다시 시작해야 합니다. 다시 채우는 것이 안전하기 전에pg_statistic.

수리하려면pg_settings오류, 그냥 그렇게 하세요:

선택 권한 부여, pg_settings를 공개로 업데이트;

위 절차는 다음에서 수행되어야 합니다.설치 데이터베이스, 포함템플릿1, 이상적으로는 포함템플릿0또한. 만약 당신이 템플릿 데이터베이스를 수정하지 않은 후 이후에 생성된 데이터베이스 데이터베이스에는 동일한 오류가 포함됩니다.템플릿1다른 것과 같은 방법으로 수정할 수 있습니다. 다른 데이터베이스가 있지만 수정 중입니다.템플릿0추가 단계가 필요합니다. 먼저, 데이터베이스 문제에서:

UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';

다음 연결 대상템플릿0그리고 위의 수리 절차를 수행하십시오. 마지막으로 다음을 수행하세요.

-- template0 다시 고정:
진공 동결;
-- 향후 변경으로부터 보호합니다.
업데이트 pg_database SET datallowconn = false WHERE datname = 'template0';

E.200.2. 변경사항

릴리스 7.4.2에는 릴리스에 포함된 모든 수정 사항이 포함되어 있습니다. 7.3.6 및 다음 수정 사항:

  • 수정pg_statistics정렬 최적화 프로그램이 충돌할 수 있는 버그

    이 문제에 대한 자세한 내용은 위를 참조하세요.

  • 슈퍼 사용자가 아닌 사용자의 업데이트 허용pg_settings

  • 몇 가지 최적화 도구 버그 수정(대부분 다음과 같은 원인이 됨)"하위 계획 대상에서 변수를 찾을 수 없습니다 목록"오류

  • 대규모 시작 중 메모리 부족 오류 방지 다중 인덱스 스캔

  • 다음으로 이어질 수 있는 멀티바이트 문제 해결"메모리 부족"오류 발생 중복사

  • 문제 해결선택 / 다음으로 테이블 생성테이블에서 OID 없음

  • 문제 해결alter_table병렬 테스트 중 회귀 테스트

  • 특히 파일 열기 제한에 도달하는 문제 수정 OS X(톰)

  • 터키어 로케일 문제에 대한 부분 수정

    initdb는 이제 터키어 로케일에서 성공하지만 여전히 몇 가지 불편함을 겪고 있습니다.i/I문제.

  • 복원 시 pg_dump가 클라이언트 인코딩을 설정하도록 합니다.

  • 기타 사소한 pg_dump 수정

  • ecpg가 다시 C 키워드를 열 이름으로 사용하도록 허용 (마이클)

  • ECPG 추가찾을 수 없는 경우선택/삽입/업데이트/삭제(마이클)

  • set-returning을 호출하는 쿼리에 대한 ecpg 충돌 수정 함수(마이클)

  • 기타 다양한 ecpg 수정 사항(마이클)

  • 볼랜드 컴파일러 수정사항

  • 스레드 빌드 개선(Bruce)

  • 다양한 기타 빌드 수정

  • 다양한 JDBC 수정