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

E.112. 릴리스 8.4.11

출시일: 2012-02-27

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

E.112.1. 버전 8.4.11로 마이그레이션

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

그러나 다음 버전보다 이전 버전에서 업그레이드하는 경우 8.4.10 참조PostgreSQL : 문서 : 9.3 : 윈 토토 8.4.10.

E.112.2. 변경사항

  • 다음에 대한 트리거 기능에 대한 실행 권한이 필요합니다.트리거 생성(로버트 하스)

    이 누락된 검사로 인해 다른 사용자가 트리거를 실행할 수 있습니다. 위조된 입력 데이터를 토토 베이에 설치하여 기능을 수행합니다. 소유하고 있습니다. 이는 표시된 트리거 함수에만 의미가 있습니다.보안 정의자, 그렇지 않으면 트리거되므로 어쨌든 함수는 토토 베이 소유자로 실행됩니다. (CVE-2012-0866)

  • SSL의 일반 이름 길이에 대한 임의 제한 제거 인증서(Heikki Linnakangas)

    둘 다libpq그리고 서버 32의 SSL 인증서에서 추출된 일반 이름이 잘렸습니다. 바이트. 일반적으로 이로 인해 예상치 못한 일이 발생하는 것보다 더 나쁜 것은 없습니다. 검증에 실패했지만 다소 믿기 어려운 부분이 있습니다. 한 명의 인증서 보유자가 다음을 수행하도록 허용할 수 있는 시나리오 다른 사람을 사칭합니다. 피해자는 공통 이름을 가지고 있어야합니다 길이는 정확히 32바이트이며 공격자는 일반 이름에 다음이 포함된 인증서를 발급하는 신뢰할 수 있는 CA 문자열을 접두사로 사용합니다. 서버를 가장하려면 다음이 필요합니다. 클라이언트 연결을 리디렉션하는 추가 악용. (CVE-2012-0867)

  • 개행 문자를 다음으로 작성된 이름의 공백으로 변환pg_dump댓글 (로버트 하스)

    pg_dump부주의했어요 SQL 주석 내에서 방출된 객체 이름을 삭제합니다. 출력 스크립트. 개행 문자가 포함된 이름은 최소한 렌더링됩니다. 스크립트의 구문이 올바르지 않습니다. 악의적으로 제작된 물체 이름은 스크립트가 다음과 같은 경우 SQL 주입 위험을 초래할 수 있습니다. 다시 로드되었습니다. (CVE-2012-0868)

  • 동시 삽입으로 인한 btree 인덱스 손상 수정 진공청소기 청소 중(톰 레인)

    삽입으로 인한 색인 페이지 분할로 인해 때때로 다음이 발생할 수 있습니다. 동시에 실행되는진공놓치다 제거해야 하는 인덱스 항목을 제거합니다. 이후 해당 토토 베이 행이 제거되고 매달린 인덱스 항목이 오류가 발생합니다(예:"읽을 수 없습니다 파일에서 N을 차단합니다...") 또는 더 나쁜 경우, 조용히 잘못된 쿼리 결과 관련 없는 행이 이제 비어 있는 테이블에 다시 삽입된 후 위치. 이 버그는 토토 베이 8.2부터 존재했지만 발생합니다. 너무 드물어서 지금까지 진단되지 않았습니다. 만약 당신이 데이터베이스에서 발생한 것으로 의심되는 이유, 재인덱싱 영향을 받은 색인으로 문제가 해결될 것입니다.

  • 토토 베이별 권한뿐만 아니라 열별 권한을 업데이트합니다. 토토 베이 소유자를 변경할 때(Tom Lane)

    이렇게 하지 않으면 이전에 부여된 열이 모두 권한은 여전히 이전 버전에서 부여된 것으로 표시됩니다. 소유자. 이는 새 소유자나 슈퍼유저가 이제 추적할 수 없는 테이블 소유자 권한을 취소합니다.

  • 일부 설정에 존재하지 않는 값 허용사용자/데이터베이스 세트 변경(헤이키 린나캉가스)

    허용default_text_search_config, default_tablespacetemp_tablespaces다음이 아닌 이름으로 설정됩니다. 알려진. 이는 다른 데이터베이스에 알려져 있을 수 있기 때문입니다. 설정을 사용할 위치 또는 테이블스페이스 테이블스페이스가 아직 생성되지 않았을 수 있기 때문입니다. 같은 이전에 문제가 인식되었습니다.검색_경로, 이제 이러한 설정이 이렇게 작동합니다. 하나.

  • 토토 베이 파일을 삭제하는 데 문제가 있을 때 충돌을 방지하세요 사후 커밋(Tom Lane)

    테이블을 삭제하면 기본 디스크가 삭제되어야 합니다. 트랜잭션이 커밋된 후에만 파일을 생성합니다. 실패하면 그때 (예를 들어 잘못된 파일 권한으로 인해) 코드는 다음과 같습니다. 경고 메시지를 내보내고 계속 진행해야 합니다. 늦게 거래를 중단했습니다. 이 논리는 출시 당시 깨졌습니다. 8.4, 이러한 상황으로 인해 PANIC 및 데이터베이스를 다시 시작할 수 없습니다.

  • WAL 재생 중에 OID 카운터를 올바르게 추적하십시오. 감싸다 (톰 레인)

    이전에는 OID 카운터가 높은 값에서 멈춰 있었습니다. 시스템이 재생 모드를 종료할 때까지. 실제적인 결과 일반적으로 0이지만 대기가 발생하는 시나리오가 있습니다. 마스터로 승격된 서버는 시간이 오래 걸릴 수 있습니다. 값이 결정되면 OID 카운터를 합리적인 값으로 전진시킵니다. 필요합니다.

  • 정규식 역참조 수정*첨부됨 (톰 레인)

    정확한 문자열 일치를 시행하는 대신 코드는 패턴을 만족하는 모든 문자열을 효과적으로 받아들입니다. 역참조 기호로 참조되는 하위 표현식입니다.

    비슷한 문제가 여전히 역참조에 영향을 미칩니다. 아니라 더 큰 수량화된 표현에 포함되어 있습니다. 수량자의 직접적인 주제. 이 문제는 다음에서 다루어질 것입니다. 미래포스트그레SQL출시.

  • 최근에 발생한 처리 중 메모리 누수 수정inet/cidr값(헤이키 린나캉가스)

    2011년 12월 토토 베이의 패치PostgreSQL여기서 메모리 누수가 발생했습니다. 다음과 같은 시나리오에서 중요할 수 있는 작업 그러한 열에 btree 인덱스를 구축합니다.

  • 다음 이후에 매달린 포인터 수정토토 베이 생성 그대로/선택SQL 언어로 함수(톰 레인)

    대부분의 경우 이는 단언 실패로만 이어졌습니다. 어설션 지원 빌드가 있지만 더 나쁜 결과가 발생할 수도 있는 것 같습니다.

  • Windows의 syslogger에서 파일 핸들을 이중으로 닫는 것을 방지하세요 (마우마우)

    보통 이 오류는 눈에 보이지 않지만 이로 인해 Windows 디버그 버전에서 실행할 때 예외가 발생합니다.

  • plpgsql에서 I/O 변환 관련 메모리 누수 수정(Andres 프로인드, 얀 어반스키, 톰 레인)

    특정 작업은 작업이 끝날 때까지 메모리 누수를 일으킬 수 있습니다. 현재 기능.

  • 개선pg_dump님의 처리 중 상속된 토토 베이 열(Tom Lane)

    pg_dump잘못 처리된 상황 하위 열에 해당 열과 다른 기본 표현식이 있는 경우 상위 열. 기본값이 텍스트와 동일한 경우 부모의 기본값이지만 실제로는 동일하지 않습니다(예를 들어 스키마 검색 경로 차이)로 인식되지 않습니다. 따라서 덤프 및 복원 후에 자식은 부모의 기본값을 상속받을 수 있습니다. 다음과 같은 하위 열입니다.NULL이 아님그들의 부모가 없는 곳에서는 또한 미묘하게 잘못 복원됩니다.

  • 수정pg_restore의 INSERT 스타일 토토 베이 데이터에 대한 데이터베이스 직접 모드(Tom Lane)

    다음으로 만든 아카이브 파일에서 데이터베이스로 직접 복원--삽입또는--열 삽입사용 시 옵션이 실패함pg_restore9월 릴리스 또는 2011년 12월, 다른 장치에 대한 수정을 감독한 결과 문제. 아카이브 파일 자체에는 결함이 없으며 텍스트 모드 출력은 괜찮습니다.

  • 허용AT옵션 포함ecpg 삭제진술(Michael Meskes)

    이를 지원하는 인프라는 한동안 존재해왔습니다. 하지만 실수로 인해 여전히 오류 확인이 거부되었습니다. 사건.

  • 오류 수정기여/intarray's정수[] & 정수[]연산자(기욤 르라지)

    두 입력 배열의 공통된 가장 작은 정수가 다음과 같다면 1이고 두 배열 중 하나에 더 작은 값이 있으면 1이 됩니다. 결과에서 잘못 생략되었습니다.

  • 오류 감지 수정contrib/pgcryptoencrypt_iv()그리고decrypt_iv()(마코 크린)

    이 함수는 특정 유형의 잘못된 입력을 보고하지 못했습니다. 오류가 발생하고 대신에 대해 임의의 가비지 값을 반환합니다. 입력이 잘못되었습니다.

  • 1바이트 버퍼 오버런 수정contrib/test_parser(폴 기요)

    코드는 필요한 것보다 1바이트 더 읽으려고 시도합니다. 코너 케이스에서는 충돌이 발생합니다. 이후contrib/test_parser단지 예시 코드일 뿐이며, 이는 그 자체로는 보안 문제는 아니지만, 나쁜 예제 코드는 여전히 나쁘다.

  • 사용__sync_lock_test_and_set()용 가능한 경우 ARM의 스핀록(Martin Pitt)

    이 기능은 이전의 사용을 대체합니다.SWPB더 이상 사용되지 않는 명령입니다. ARMv6 이상에서 사용할 수 있습니다. 보고서에 따르면 이전 코드는 최근 ARM 보드에서는 명백한 방식으로 실패하지 않지만 단순히 동시 액세스를 연동하지 않아 이상한 오류가 발생합니다. 다중 프로세스 작업 중입니다.

  • 사용-fexcess-정밀도=표준옵션 이를 허용하는 gcc 버전으로 빌드할 때(Andrew Dunstan)

    이것은 최신 버전의 gcc가 발생하는 다양한 시나리오를 방지합니다. 창의적인 결과를 만들어내겠습니다.

  • FreeBSD에서 스레드 Python 사용 허용(Chris Rees)

    우리의 구성 스크립트는 이전에 이 조합이 작동하지 않을 것입니다. 하지만 FreeBSD가 문제를 해결했으므로 해당 오류를 제거하세요. 확인하세요.