릴리스 롤 토토

롤 토토

E.15. 롤 토토 10.9

출시 날짜 :2019-06-20

이 롤 토토에는 10.8의 다양한 수정 사항이 포함되어 있습니다. Major Release 10의 새로운 기능에 대한 정보는 참조섹션 E.24.

E.15.1. 버전 10.9로의 마이그레이션

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

그러나 10.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.18.

E.15.2. 변화

  • SCRAM VERIFIER PARSING의 버퍼 오버 플로우 위험 수정 (Jonathan Katz, Heikki Linnakangas, Michael Paquier)

    모든 인증 된 사용자는 자신의 암호를 목적으로 특징으로하는 값으로 변경하여 스택 기반 버퍼 오버플로를 유발할 수 있습니다. 충돌하는 능력 외에도롤 토토서버, 이것은 임의 코드를 실행하기에 충분할 수 있습니다롤 토토운영 체제 계정

    비슷한 오버플로 위험이 존재했습니다libpq, 로그 서버가 클라이언트를 충돌 시키거나 클라이언트의 운영 체제 계정으로 임의 코드를 실행할 수 있습니다.

    the롤 토토이 문제를보고 한 Alexander Lakhin 프로젝트 감사합니다. (CVE-2019-10164)

  • 고장 실패ALTER 테이블 ... ALTER 열 유형테이블에 부분 제외 제약 조건 (Tom Lane)이있는 경우

  • 고장 실패댓글도메인 제약 조건에 대한 댓글 명령 (Daniel Gustafsson, Michael Paquier)

  • 해시 집계의 해시 키 목록 (Andrew Gierth)에 중복 열이있을 때 가능한 메모리 클로버 방지

  • 결함이있는 병합-임명 계획의 생성 (Tom Lane) 수정

    이 실수로 이어질 수 있습니다정렬 할 PathKey 항목을 찾을 수 없습니다오류.

  • 중복 조인 이름 (Philip Dubé)으로 쿼리의 잘못된 인쇄 수정

    이 감독은 그러한 쿼리를 포함하는 뷰에 덤프/복원 실패를 일으켰습니다.

  • JSON 문자 리터럴을 JSON 형 출력 열로 변환JSON_TO_RECORD ()andjson_populate_record ()(Tom Lane)

    그러한 경우는 문자를 독립형 JSON 값으로 생성해야하지만, 리터럴에 탈출이 필요한 문자가 포함 된 경우 코드가 잘못 행동했습니다..

  • 오해 최적화 수정{1,1}정규 표현식의 정량 자 (Tom Lane)

    그러한 정량자는 NO-OPS로 취급되고 최적화되었다. 그러나이 문서는 비가 부적절한 변형의 경우 욕심이나 욕구를 부과한다는 것을 명시합니다.1,1?, 그들이 첨부 된 서브 표현에서 이런 일이 일어나지 않았습니다. 오작동은 하위 표현이 괄호 캡처 또는 역전을 포함하는 경우에만 발생했습니다.

  • 새로운 프로세스를 초기화하는 동안 가능한 고장을 피하십시오pg_stat_activity데이터 (Tom Lane)

    SSL 인증서에서 추출한 문자열을 데이터베이스 인코딩으로 변환하는 것과 같이 실패 할 수있는 특정 작업은 임계 섹션 내에서 수행되었습니다. 실패 공유의 액세스 프로토콜을 위반하여 데이터베이스 전체 잠금이 발생합니다pg_stat_activity데이터.

  • 경쟁 조건을 수정하여 기존의 공유 메모리 세그먼트가 충돌하는 우체국 장 (Tom Lane)이 여전히 사용 중인지 여부를 확인하십시오.

  • Walreceiver의 신호 핸들러 (Tom Lane)에서 안전하지 않은 코딩 수정

    이것은 walreceiver 프로세스가 종료하라는 명령을 내릴 때 충돌하거나 교착 상태에있는 드문 문제를 피합니다.

  • 특정 데이터베이스에 연결되지 않은 프로세스 (Vignesh C, Andres Freund)에 대한 매개 변수 체크인에 대한 데이터베이스 액세스를 시도하지 마십시오.

    이 오류는와 같은 실패를 초래할 수 있습니다.데이터베이스를 선택하지 않고 PG_CLASS를 읽을 수 없습니다.

  • 가능한 교수형을 피하십시오libpqSSL을 사용하고 OpenSSL의 보류 데이터 버퍼를 사용하는 경우 정확한 배수 256 바이트 (David Binderman)가 포함되어 있습니다.

  • 개선initdb의 시스템 시간대 (Tom Lane, Andrew Gierth)의 여러 해당 이름을 처리하는 것

    makeinitdb검사/etc/localtime그것이 존재하는 경우, 시스템 시간대와 동등한 이름 ​​사이의 관계를 끊는 것입니다. 이것은initdb여러 동일한 시간 영역이있을 때 사용자가 기대할 시간 영역 이름을 선택할 가능성이 높습니다. 동작을 바꾸지 않을 것입니다/etc/localtime영역 데이터 파일에 대한 Symlink가 아니거나 시간대가 결정된 경우TZ환경 변수.

    별도로, 선호UTC해당 시간대의 다른 철자 위에, 어느 쪽도TZNOR/etc/localtime힌트를 제공하십시오. 이것은에 의해 소개 된 성가심을 수정합니다.TZDATA2019a의 변화를위한 변화UCTandUTC영역 이름에 해당 :initdb그런 다음 선호UCT, 거의 원하지 않는 사람.

  • 주문 수정grant명령에 의해 배출 된 명령pg_dumpandpg_dumpall데이터베이스 및 테이블 스페이스 (Nathan Bossart, Michael Paquier)

    계단식 보조금이 발행 된 경우로 인해 복원이 실패 할 수 있습니다.grant상호 의존성을 존중하지 않는 순서로 제공되는 명령.

  • makepg_dump사용 테이블 파티션 재현테이블 생성the파티션 첨부파티션창조 명령 (Álvaro Herrera, David Rowley)

    이것은 파티션의 열 순서가 부모와 일치하도록 변경 될 수있는 문제를 피합니다. 또한, 부모 테이블이 복원되지 않더라도 덤프 (독립형 테이블)에서 파티션이 복원 가능합니다.첨부실패하지만 무시할 수 있습니다.

  • 오도 오류 보고서 수정ReindexDB(Julien Rouhaud)

  • VACUUMDB병렬 작업을 사용하는 동안 오류가 발생하면 올바른 상태를 반환합니다 (Julien Rouhaud)

  • 수정Contrib/Auto_explain병렬 쿼리 (Tom Lane)에서 문제를 일으키지 않으려면

    이전에, 병렬 작업자는 상위 쿼리가 로그인되지 않더라도 쿼리를 기록하려고 시도 할 수 있습니다auto_explain. 이것은 때때로 효과가 있지만 혼란스럽고 어떤 경우에는와 같은 실패가 발생했습니다.shm toc에서 키 n을 찾을 수 없습니다.

    또한, 샘플링 속도가 1.0으로 설정된 경우에도 모든 쿼리를 반드시 로그인 할 필요는없는 오프별 오류를 수정합니다.

  • inContrib/Postgres_FDW, Local의 가능한 데이터 수정을 설명행 전 업데이트 전트리거 (Shohei Mochizuki)

    트리거가 그렇지 않으면 변경되지 않은 열을 수정 한 경우업데이트, 새 값은 원격 서버로 전송되지 않았습니다.

  • Windows에서 데이터베이스 인코딩이 SQL_ASCII로 설정된 경우 고장을 피하고 ASCII가 아닌 문자열 (Noah Misch)을 기록하려고 시도합니다.

    코드는 그러한 문자열이 UTF-8에 있어야한다고 가정했으며, 유효하게 인코딩되지 않은 경우 오류가 발생합니다. 이제, 번역되지 않은 바이트를 로그로 전송합니다.

  • makepl/pgsql의 헤더 파일 C ++-안전 (George Tarasov)