이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

E.112. 릴리스 8.4.11

출시 날짜 : 2012-02-27

이 릴리스에는 8.4.10의 다양한 수정 사항이 포함되어 있습니다. 을 위한 8.4 주요 릴리스의 새로운 기능에 대한 정보 참조섹션 E.123.

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

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

그러나 더 일찍 버전에서 업그레이드하는 경우 8.4.10, 참조PostgreSQL : 문서 : 9.3 : 윈 토토 8.4.10.

E.112.2. 변화

  • 트리거 함수에 대한 권한을 실행해야합니다.트리거 만들기(Robert Haas)

    이 누락 된 수표는 다른 사용자가 트리거를 실행할 수 있습니다. 위조 된 입력 데이터와 함께 기능, 테이블에 설치하여 소유합니다. 이것은 표시된 트리거 기능에만 중요합니다보안 정의기, 그렇지 않으면 트리거하므로 기능은 어쨌든 테이블 소유자로 실행됩니다. (CVE-2012-0866)

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

    둘 다libpq및 서버 SSL 인증서에서 32로 추출한 공통 이름을 잘라 냈습니다. 바이트. 일반적으로 이것은 예상치 못한 것보다 더 나쁘지 않습니다 검증 실패이지만 다소 비정상적인 것이 있습니다 하나의 인증서 보유자가 다른 사람을 가장합니다. 피해자는 일반적인 이름을 가져야합니다 정확히 32 바이트 길이, 공격자는 신뢰할 수있는 CA 공통 이름이있는 인증서를 발행합니다. 접두사로 문자열. 서버를 가장하려면 일부가 필요합니다 클라이언트 연결을 리디렉션하기위한 추가 악용. (CVE-2012-0867)

  • 신형 이름을 쓰여진 이름의 공간으로 변환pg_dump댓글 (Robert Haas)

    pg_dump에 대해 불법적이었습니다 SQL 주석 내에서 방출되는 객체 이름을 소독합니다. 출력 스크립트. Newline이 포함 된 이름은 최소한 렌더링됩니다 스크립트가 구문 적으로 부정확합니다. 악의적으로 제작 된 물체 스크립트가있을 때 이름은 SQL 주입 위험을 나타낼 수 있습니다. 새로 고침. (CVE-2012-0868)

  • 동시에 삽입에서 Btree 지수 손상을 수정하십시오 진공 청소기 (Tom Lane)

    삽입으로 인한 인덱스 페이지 분할이 때때로 동시에 실행되는진공놓치기 위해 제거 해야하는 인덱스 항목을 제거합니다. 후 해당 테이블 행이 제거되고 매달려 인덱스 항목이 제거됩니다 오류를 일으킬 것입니다 (예 :"를 읽을 수 없습니다 파일의 블록 N ... ") 또는 더 나쁘고 조용히 잘못된 쿼리 결과 관련이없는 행은 현재없는 테이블에 다시 삽입됩니다 위치. 이 버그는 릴리스 8.2 이후에 존재했지만 발생합니다. 그래서 지금까지 진단되지 않았습니다. 당신이 있다면 데이터베이스에서 발생했다고 의심하는 이유, Reindexing 영향을받는 인덱스는 사물을 고칠 것입니다.

  • 테이블 당 권한뿐만 아니라 열 당 권한 업데이트, 테이블 소유자를 변경할 때 (Tom Lane)

    이 작업에 실패한 것은 이전에 부여 된 열이라는 것을 의미했습니다. 권한은 여전히 오래된 사람에 의해 부여 된 것으로 나타났습니다. 소유자. 이것은 새로운 소유자 나 수퍼 유저가 지금은 추적 할 수없는 테이블 소유자 권한을 취소하십시오.

  • 일부 설정에 대해 존재하지 않는 값을 허용사용자/데이터베이스 세트 변경(Heikki Linnakangas)

    허용default_text_search_config, default_tablespacetemp_tablespaces그렇지 않은 이름으로 설정됩니다 알려진. 다른 데이터베이스에서 알려져 있기 때문입니다. 설정이 사용될 의도 또는 테이블 스페이스 용 테이블 스페이스가 아직 생성되지 않았기 때문에 사례. 동일합니다 문제는 이전에 인정되었습니다search_path, 그리고이 설정은 이제 그렇게 작용합니다 하나.

  • 테이블 파일을 삭제하는 데 문제가있을 때 충돌을 피하십시오 사후 커밋 (Tom Lane)

    테이블을 떨어 뜨리는 것은 기본 디스크를 삭제해야합니다. 트랜잭션이 저지른 후에 만 파일. 실패시 (예를 들어, 잘못된 파일 권한으로 인해) 코드는 다음과 같습니다. 경고 메시지를 방출하고 계속해서 계속해야합니다. 거래를 중단하기 위해 늦었습니다. 이 논리는 릴리스 시점에 깨졌습니다 8.4, 그러한 상황을 유발하여 공황과 불가능한 데이터베이스.

  • WAL 재생 중에 OID 카운터를 올바르게 추적합니다. 랩 (Tom Lane)

    이전의 OID 카운터는 높은 가치로 붙어 있습니다. 시스템이 재생 모드를 종료 할 때까지. 실질적인 결과 일반적으로 NIL이지만 대기가있는 시나리오가 있습니다. 마스터로 홍보 된 서버는 오랜 시간이 걸릴 수 있습니다. 값이 값이되면 OID 카운터를 합리적인 값으로 전환하십시오. 필요합니다.

  • 정규 표현식 수정*첨부 (Tom Lane)

    정확한 문자열 일치를 시행하지 않고 코드는 패턴을 만족시키는 문자열을 효과적으로 수락하십시오 백 참조 기호에 의해 참조 된 하위 표현.

    비슷한 문제는 여전히 역 참조를 괴롭 힙니다 더 큰 정량화 된 표현으로 내장 정량 자의 즉각적인 주제. 이것은 a 미래PostgreSQL토토 베이.

  • 최근에 소개 된 메모리 누출 수정inet/CIDR값 (Heikki Linnakangas)

    2011 년 12 월 토토 베이 패치PostgreSQL이들에서 메모리 누출을 일으켰습니다 다음과 같은 시나리오에서 중요 할 수있는 작업 그러한 열에 btree 지수 구축.

  • 이후에 매달린 포인터 수정테이블 작성 처럼/선택SQL 언어로 기능 (Tom Lane)

    대부분의 경우 이것은 단지 주장 실패로 이어졌습니다. Assert 지원 빌드이지만 더 나쁜 결과는 가능해 보입니다.

  • Windows의 Syslogger에서 파일 핸들의 이중 닫기를 피하십시오. (Maumau)

    일반적 으로이 오류는 보이지 않았지만 디버그 버전의 Windows에서 실행될 때 예외.

  • PLPGSQL (Andres Freund, Jan Urbanski, Tom Lane)

    특정 작업은 끝날 때까지 메모리 누출됩니다. 현재 기능.

  • 개선pg_dump의 취급 상속 테이블 열 (Tom Lane)

    pg_dump잘못 처리 된 상황 자식 칼럼이 그와 다른 기본 표현식을 갖는 경우 부모 열. 기본값이 텍스트로 동일 한 경우 부모의 기본값이지만 실제로는 동일하지 않습니다 (예 : 스키마 검색 경로 차이)) 덤프 및 복원 후 아이가 부모의 기본값을 상속받을 수 있습니다. 자식 기둥NOT NULL부모가 할 수없는 곳 미묘하게 잘못 복원됩니다.

  • 수정PG_RESTORE's 인서트 스타일 테이블 데이터 (Tom Lane)를위한 직접 대사 모드

    직접-다이베이션은 아카이브 파일에서 복원-inserts또는-Column-Inserts옵션을 사용할 때 옵션 실패PG_RESTORE9 월에 출시 된 출시에서 2011 년 12 월, 다른 사람을위한 수정으로 감독의 결과로 문제. 아카이브 파일 자체는 오류가 아니며 텍스트 모드 출력은 괜찮습니다.

  • 허용at옵션ECPG 딜 로이징진술 (Michael Meskes)

    이것을 지원하기위한 인프라는 잠시 동안 존재했습니다. 그러나 감독을 통해 여전히 오류 수표가 거부되었습니다. 케이스.

  • 오류 수정Contrib/Intarray'sint [] & int []운영자 (Guillaume lelarge)

    가장 작은 정수가 두 입력 어레이가 공통점이있는 경우 1, 두 배열에 더 작은 값이 있고 1은 1이됩니다. 결과에서 잘못 생략되었습니다.

  • 오류 감지 수정Contrib/Pgcrypto'sEncrypt_iv ()anddecrypt_iv ()(Marko Kreen)

    이 함수는 특정 유형의 유효하지 않은 입력을보고하지 못했습니다 오류는 대신 임의의 쓰레기 값을 반환합니다 잘못된 입력.

  • 1 바이트 버퍼 오버런 수정contrib/test_parser(Paul Guyot)

    코드는 그보다 하나를 더 읽으려고합니다. 코너 케이스에서 충돌합니다. 부터contrib/test_parser는 예제 코드입니다 그 자체로 보안 문제는 아니지만 나쁜 예제 코드는 여전히 나쁜.

  • use__sync_lock_test_and_set ()팔에 스핀 록, 가능한 경우 (Martin Pitt)

    이 함수는 이전 사용을 대체합니다.SWPB명령어는 더 이상 사용되지 않습니다 ARMV6 이상에서 사용할 수 있습니다. 보고서는 이전 코드를 제안합니다 최근 암 보드에서는 명백한 방식으로 실패하지 않지만 간단히 동시 액세스가 연동되지 않아 기괴한 고장이 발생합니다 다중 프로세스 작업에서.

  • use-fexcess-precision = Standard옵션 그것을 허용하는 GCC 버전으로 구축 할 때 (Andrew Dunstan)

    이것은 최근 버전의 GCC에서 분류 된 시나리오를 방지합니다 창의적인 결과를 낳을 것입니다.

  • freebsd (Chris Rees)에서 스레드 파이썬 사용 허용

    우리의 구성 스크립트는 이전 에이 조합을 믿었습니다 작동하지 않을 것입니다. 그러나 freebsd는 문제를 해결하므로 해당 오류를 제거하십시오 확인하다.