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

E.18. 릴리스 8.4.5

출시일: 2010-10-04

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

E.18.1. 버전 8.4.5로 마이그레이션

8.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다. 그러나 이전 버전에서 업그레이드하는 경우 8.4.2 참조PostgreSQL : 문서 : 8.4 : 토토 커뮤니티 8.4.2.

E.18.2. 변경사항

  • 각 호출 SQL 사용자 ID에 대해 별도의 해석기를 사용하십시오. PL/Perl 및 PL/Tcl(Tom Lane)

    이 변경으로 인해 발생할 수 있는 보안 문제가 방지됩니다. 실행될 Perl 또는 Tcl 코드를 파괴하여 발생 나중에 다른 SQL 사용자 ID로 동일한 세션에서 (예를 들어,보안 정의자함수). 대부분의 스크립팅 언어는 이를 재정의하는 등 다양한 방법으로 수행할 수 토토 캔. 대상이 호출하는 표준 함수 또는 연산자 기능. 이 변경 없이 Perl을 사용하는 모든 SQL 사용자 또는 Tcl 언어 사용 권한은 본질적으로 무엇이든 할 수 토토 캔. 대상 함수 소유자의 SQL 권한.

    이 변경의 비용은 의도적인 것입니다 Perl과 Tcl 기능 간의 통신이 더 많아졌습니다. 어렵다. 탈출구를 제공하기 위해 PL/PerlU 및 PL/TclU 함수는 계속해서 세션당 하나의 통역사만 사용합니다. 이는 보안 문제로 간주되지 않습니다. 함수는 데이터베이스의 신뢰 수준에서 실행됩니다. 이미 슈퍼유저입니다.

    제3자 절차적 언어는 신뢰할 수 있는 실행을 제공한다고 주장하는 것과 유사한 보안이 있음 문제. 귀하가 속한 PL의 작성자에게 문의하는 것이 좋습니다. 보안이 중요한 목적에 따라 다릅니다.

    이 문제를 지적한 Tim Bunce에게 감사드립니다. (CVE-2010-3433).

  • 충돌 가능성 방지pg_get_expr()그것을 허용하지 않음으로써 시스템 중 하나가 아닌 인수로 호출되는 경우 함께 사용하도록 의도된 카탈로그 열(Heikki 린나캉가스, 톰 레인)

  • 종료 코드 128 처리(ERROR_WAIT_NO_CHILDREN)은 치명적이지 않음 윈도우(마그누스 하간데르)

    부하가 높은 경우 Windows 프로세스가 때때로 실패함 시작할 때 이 오류 코드가 나타납니다. 전직 우체국장 이것을 공황 상태로 처리하고 전체를 다시 시작했습니다. 하지만 그건 과민반응인 것 같습니다.

  • 자리 표시자 평가의 잘못된 위치 수정(톰 레인)

    이 버그로 인해 쿼리 출력이 null이 아닐 수 토토 캔. null이어야 하는 경우, 외부 조인은 엄격하지 않은 표현식을 사용하는 하위 선택입니다. 출력 목록에 토토 캔.

  • 가능한 중복 스캔 수정유니온 전체회원 관계 (톰 레인)

  • 수정"계획되지 않은 것을 처리할 수 없습니다 하위 선택"오류 (톰 레인)

    하위 선택에 조인 별칭이 포함되어 있을 때 이 문제가 발생했습니다. 다음을 포함하는 표현식으로 확장되는 참조 또 다른 하위 선택.

  • 뷰를 참조하는 전체 행 Var의 잘못된 처리 수정 또는 하위 선택을 하고 중첩된 하위 선택 내에 나타납니다(Tom 레인)

  • 크로스 유형의 잘못된 처리 수정IN비교(톰 레인)

    계획자가 다음을 시도하면 실패가 발생할 수 있습니다. 구현하다IN다음과 함께 가입하세요 정렬 후 고유한 후 일반 조인 계획입니다.

  • 계산 수정분석통계ts벡터열(1월 우르반스키)

    원래 코딩으로 인해 잘못된 통계가 생성될 수 있습니다. 나중에 잘못된 계획 선택으로 이어집니다.

  • 플래너의 메모리 사용 예측 개선array_agg(), string_agg()및 유사한 집계 함수(하라다 히토시)

    이전의 급격한 과소평가는 다음으로 이어질 수 있습니다. 부적절한 선택으로 인한 메모리 부족 오류 해시 집계 계획.

  • 캐시된 계획을 임시 계획으로 표시하지 못하는 문제 수정(톰 레인)

    계획이 준비되는 동안만들기 동시에 색인 생성다음 중 하나에 대해 진행 중입니다. 참조된 테이블이 있으면 다시 계획해야 합니다. 인덱스를 사용할 준비가 되었습니다. 이런 일은 일어나지 않았습니다 확실하게.

  • 간헐적으로 보고되는 일부 상황에서 패닉을 오류로 줄입니다. btree 실패 사례를 확인하고 결과 오류 메시지(Tom Lane)

    이것은 시스템의 견고성을 향상시킵니다. 인덱스가 손상되었습니다.

  • 부분 일치 쿼리에 대한 잘못된 검색 논리 수정 GIN 인덱스 사용(Tom Lane)

    여러 GIN 지수를 AND/OR 조합하는 경우 조건이 항상 올바른 답을 주는 것은 아니었고, 때로는 필요한 것보다 훨씬 느립니다.

  • show_session_authorization() 충돌 방지 자동 진공 프로세스 내(Tom Lane)

  • 여기서 레코드 세트를 반환하는 함수에 대해 방어하세요. 반환된 모든 행이 실제로 동일한 행 유형은 아닙니다. (톰 레인)

  • 보류 중인 트리거 이벤트 목록의 손상 가능성 수정 하위 트랜잭션 롤백 중(Tom Lane)

    이로 인해 충돌이 발생하거나 잘못된 실행이 발생할 수 토토 캔. 트리거합니다.

  • 참조 전달을 해싱할 때 발생할 수 있는 오류 수정 함수 결과(Tao Ma, Tom Lane)

  • 병합 조인의 NULL 처리 개선 열(톰 레인)

    병합 조인은 이제 첫 번째 NULL(정렬 순서가 NULL 정렬인 경우) 높다.

  • 잠금 파일의 내용을 fsync하도록 주의하세요(둘 다postmaster.pid그리고 소켓 lockfile)을 작성하는 동안(Tom Lane)

    이 누락으로 인해 잠금 파일이 손상될 수 토토 캔. postmaster 직후에 컴퓨터가 충돌하는 경우의 내용 시작합니다. 그러면 후속 시도를 막을 수 토토 캔. 잠금 파일이 완료될 때까지 포스트마스터를 성공부터 시작합니다. 수동으로 제거되었습니다.

  • XID를 과도하게 중첩된 항목에 할당하는 동안 재귀 방지 하위 거래(Andres Freund, Robert Haas)

    원래 코딩이 있는 경우 충돌이 발생할 수 토토 캔. 제한된 스택 공간.

  • walwriter에 열려 있는 오래된 WAL 세그먼트를 유지하지 마십시오 프로세스(Magnus Hagander, Heikki Linnakangas)

    이전 코딩으로 인해 다음이 제거되지 않습니다. 더 이상 필요하지 않은 세그먼트입니다.

  • 수정log_line_prefix's%i탈출, 이는 다음을 생성할 수 있습니다. 백엔드 시작 초기의 정크(Tom Lane)

  • 부분 지정의 오해 방지 TOAST 테이블의 관계 옵션(이타가키 다카히로)

    특히,채우기 요소그러겠다 다른 reloption이 설정된 경우 0으로 읽혀집니다. 테이블이 심하게 부풀어 오르게 됩니다.

  • 상속 개수 추적 수정테이블 변경...제약조건 추가(로버트 하스)

  • 다음에서 발생할 수 있는 데이터 손상 수정테이블 변경 ... 테이블스페이스 설정언제 보관이 활성화되었습니다(Jeff Davis)

  • 허용데이터베이스 생성그리고데이터베이스 변경...테이블스페이스 설정질의 취소로 인해 중단됨(Guillaume Lelarge)

  • 개선색인 생성님이 확인 중입니다 제안된 인덱스 표현식이 불변인지 여부(Tom 레인)

  • 수정소유 재할당처리하다 연산자 클래스 및 계열(Asko Tiidumaa)

  • 빈 두 개를 비교할 때 가능한 코어 덤프 수정tsquery값 (톰 레인)

  • 수정좋아요의 패턴 처리 포함%다음이 따름_(톰 레인)

    우리는 이 문제를 이전에 고쳤지만 여전히 일부 문제가 있었습니다. 잘못 처리된 사례입니다.

  • 서기 0001-01-01 이전의 율리우스력 날짜 입력을 다시 허용 (톰 레인)

    다음과 같은 입력'J100000'::날짜8.4 이전에도 작동했지만 추가로 인해 의도치 않게 중단되었습니다. 오류 검사 중입니다.

  • 커서가 있는 경우 충돌이 아닌 오류를 발생시키도록 PL/pgSQL 수정 a 내에 문을 닫았습니다.for루프해 해당 커서를 반복하고 토토 캔(Heikki Linnakangas).

  • PL/Python에서 널 포인터 결과로부터 방어PyCObject_AsVoidPtr그리고PyCObject_FromVoidPtr(피터 아이젠트라우트)

  • libpq, 전체 SSL 수정 둘 다인 경우에 대한 인증서 확인호스트그리고hostaddr지정됨(톰 레인)

  • psql이 인식하도록 만들기모두 삭제트랜잭션에 포함되어서는 안 되는 명령으로 자동 커밋 오프 모드에서 차단(이타가키 타카히로)

  • 일부 문제 해결pg_dump의 SQL/MED 개체 처리 (톰 레인)

    특히,pg_dump아마도 슈퍼유저가 아닌 사람이 실행하면 항상 실패합니다. 의도했습니다.

  • 개선pg_dump그리고pg_restore님의 처리 중 검색할 수 없는 아카이브 파일(Tom Lane, Robert Haas)

    이것은 병렬 기능이 제대로 작동하는 데 중요합니다. 복원합니다.

  • 병렬 pg_restore의 대처 능력을 향상시킵니다. 선택적 복원(-L옵션) (톰 레인)

    다음과 같은 경우 원래 코드가 실패하는 경향이 있었습니다.-L파일이 기본이 아닌 복원을 명령했습니다. 주문합니다.

  • 수정ecpg처리하다 의 데이터돌아오는 중절 올바르게 (Michael Meskes)

  • 일부 메모리 누수 수정ecpg(졸탄 보조르메니)

  • 개선기여/dblink의 삭제된 열이 포함된 테이블 처리(Tom 레인)

  • 다음 이후 연결 누출 수정"중복 연결 이름"오류 발생기여/dblink(이타가키 타카히로)

  • 수정기여/dblink처리하다 올바르게 62바이트보다 긴 연결 이름(Itagaki 다카히로)

  • 추가hstore(텍스트, 텍스트)기능을기여/hstore(로버트 하스)

    이 기능은 권장되는 대체 기능입니다. 현재는 더 이상 사용되지 않음=연산자. 그것 미래에 대비한 코드를 사용할 수 있도록 백패칭되었습니다. 이전 서버 버전의 경우. 참고로 패치는 이후에만 유효함기여/hstore설치 또는 재설치됨 특정 데이터베이스에서. 사용자는 다음을 실행하는 것을 선호할 수 있습니다.함수 생성직접 명령, 대신.

  • 빌드 인프라 및 문서를 업데이트하여 반영 소스 코드 저장소가 CVS에서 Git으로 이동합니다(Magnus Hagander 외)

  • 다음으로 시간대 데이터 파일 업데이트tzdataDST 법률에 대한 2010l 릴리스 이집트와 팔레스타인의 변화; 또한 역사적 수정 핀란드의 경우.

    이 변화는 또한 두 개의 미크로네시아인에 대한 새로운 이름을 추가합니다 시간대: 이제 Pacific/Chuuk가 Pacific/Truk보다 선호됩니다. (선호되는 약어는 TRUT가 아닌 CHUT입니다) Pacific/Pohnpei가 Pacific/Ponape보다 선호됩니다.

  • 창을 만드세요'"북부 중앙아시아 표준시"시간대 지도는 아시아/노보시비르스크가 아님 아시아/알마티(Magnus Hagander)

    Microsoft는 다음에서 이 영역의 DST 동작을 변경했습니다. KB976098의 시간대 업데이트. 아시아/노보시비르스크가 더 좋습니다 새로운 동작과 일치합니다.