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

E.94. 릴리스 7.3.10

출시일: 2005-05-09

이 릴리스에는 다음을 포함하여 7.3.9의 다양한 수정 사항이 포함되어 있습니다. 몇 가지 보안 관련 문제가 있습니다.

E.94.1. 버전 7.3.10으로 마이그레이션

7.3.X를 실행하는 경우 덤프/복원이 필요하지 않습니다. 그러나 이는 중요한 문제를 처리할 수 있는 한 가지 방법입니다. 초기 내용에서 발견된 보안 문제 7.3.X 시스템 카탈로그. 다음을 사용하는 덤프/initdb/다시 로드 시퀀스 7.3.10의 initdb는 이 문제를 자동으로 수정합니다.

보안 문제는 내장된 문자 집합이 인코딩 변환 함수는 SQL 명령에서 호출될 수 있습니다. 권한이 없는 사용자가 사용할 수 있지만 해당 기능은 해당 기능을 위해 설계되지 않았습니다. 그러한 사용은 악의적인 선택으로부터 안전하지 않습니다. 인수. 수정 사항에는 선언된 매개변수 변경이 포함됩니다. 더 이상 호출할 수 없도록 이러한 함수를 나열합니다. SQL 명령에서. (이것은 정상적인 사용에 영향을 미치지 않습니다. 인코딩 변환 기계.) 강력히 권장됩니다 모든 설치에서 initdb 또는 아래의 수동 수리 절차를 따르십시오. 오류 적어도 권한이 없는 젠 토토베이스 사용자가 젠 토토베이스를 충돌시킬 수 있도록 허용합니다. 서버 프로세스이며 권한이 없는 사용자가 젠 토토베이스 슈퍼유저의 권한.

initdb를 수행하지 않으려면 다음을 수행하십시오. 대신 절차를 따르세요. 데이터베이스 슈퍼유저로서 다음을 수행합니다.

시작;
업데이트 pg_proc SET proargtypes[3] = 'internal'::regtype
WHERE pronamespace = 11 AND pronargs = 5
     AND proargtypes[2] = 'cstring'::regtype;
-- 명령은 90개 행을 업데이트했다고 보고해야 합니다.
-- 그렇지 않다면 커밋하는 대신 롤백하고 조사하세요!
커밋;

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

업데이트 pg_database SET datallowconn = true WHERE datname = 'template0';

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

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

E.94.2. 변경사항

  • 오용 방지를 위해 인코딩 기능 서명 변경

  • 트랜잭션을 허용한 고대 경쟁 조건을 복구합니다. 어떤 목적을 위해 커밋된 것으로 보입니다(예: SELECT FOR 업데이트) 다른 목적보다 약간 더 빠름

    이것은 다음으로 이어질 수 있으므로 매우 심각한 버그입니다. 명백한 데이터 불일치가 잠시 표시됩니다. 응용 프로그램.

  • 관계 확장과 다음 사이의 경합 상태를 복구합니다. 진공

    이것은 이론적으로 페이지의 손실을 초래할 수 있습니다 시나리오가 그럴듯해 보이지만 새로 삽입된 젠 토토의 가치가 있습니다. 매우 낮은 확률로. 알려진 사례는 없습니다 Assert 실패 이상의 원인이 되었습니다.

  • 비교 수정시간과 시간 구역

    다음의 경우 비교 코드가 잘못되었습니다.--활성화-정수-날짜 시간구성 스위치가 사용되었습니다. 참고: a에 대한 색인시간대 포함 시간열, 다음과 같아야 합니다REINDEX11586_11694

  • 수정추출(EPOCH)for시간대 포함 시간

  • 음수 소수 초의 잘못된 표시 수정간격

    이 오류는 다음 경우에만 발생했습니다.--활성화-정수-날짜 시간구성 스위치가 사용되었습니다.

  • plpgsql의 추가 버퍼 오버런 검사(Neil)

  • 다음을 포함하는 트리거 이름을 덤프하도록 pg_dump 수정%맞습니다 (닐)

  • 방지to_char(간격)월 관련 형식에 대한 덤핑 코어에서

  • 수정contrib/pgcrypto최신용 OpenSSL 빌드(Marko Kreen)

  • 아직 더 많은 64비트 수정 사항기여/intagg

  • 반환 함수의 잘못된 최적화 방지기록