출시일: 2018-08-09
이 릴리스에는 10.4의 다양한 수정 사항이 포함되어 있습니다. 주요 릴리스 10의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.젠 토토 PostgreSQL : 문서 : 10 : E.24. 릴리스 10.
10.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 10.4 이전 버전에서 업그레이드하는 경우 다음을 참조하세요.토토 캔 PostgreSQL : 문서 : 10 : E.20. 릴리스 10.4.
재설정 실패 수정libpq연결 시도 사이에 완전히 상태가 유지됨(Tom Lane)
권한이 없는 사용자dlink또는postgres_fdw다음과 같은 서버측 자격 증명의 사용을 방지하기 위한 검사를 우회할 수 있습니다.~/.pgpass서버를 실행하는 운영 체제 사용자가 소유한 파일입니다. 로컬 연결사설 토토 피어 인증을 허용하는 서버는 특히 취약합니다. a에 SQL 주입과 같은 기타 공격postgres_fdw세션도 가능합니다. 공격 중postgres_fdw이런 방식으로 선택한 연결 매개변수를 사용하여 외부 서버 개체를 생성할 수 있는 기능이 필요하지만 다음에 액세스할 수 있는 모든 사용자는dlink문제를 이용할 수 있습니다. 일반적으로 공격자는 a에 대한 연결 매개변수를 선택할 수 있습니다.libpq-응용 프로그램을 사용하면 장난이 발생할 수 있지만 다른 공격 시나리오는 생각하기 어렵습니다. 이 문제를 보고해 주신 Andrew Krasichkov에게 감사드립니다. (CVE-2018-10915)
수정충돌 업데이트에 삽입...단지 아닌 뷰를 통해선택 * 다음에서 ...(딘 라시드, 아미트 랑고테)
업데이트 가능한 보기를 잘못 확장하면 충돌이 발생할 수 있습니다.“속성 ...에 잘못된 유형이 있습니다.”오류, 보기의 경우선택목록이 기본 테이블의 열과 일대일로 일치하지 않습니다. 또한 이 버그를 활용하여 공격하는 사용자에게 부족한 열을 업데이트할 수 있습니다.업데이트해당 사용자에게 권한이 있는 경우삽입그리고업데이트테이블의 다른 열에 대한 권한. 모든 사용자는 서버 메모리 공개를 위해 이를 사용할 수도 있습니다. (CVE-2018-10925)
다음 업데이트를 확인하세요.relfrozenxid그리고relminmxid값:“못을 박았다”시스템 카탈로그가 적시에 처리됩니다(Andres Freund)
지나치게 낙관적인 캐싱 규칙으로 인해 이러한 업데이트가 다른 세션에 표시되지 않아 허위 오류 및/또는 데이터 손상이 발생할 수 있습니다. 다음과 같은 공유 카탈로그의 경우 문제가 훨씬 더 심각했습니다.pg_authid, 오래된 캐시 데이터가 기존 세션뿐만 아니라 새 세션에도 지속될 수 있기 때문입니다.
새로 승격된 대기가 첫 번째 복구 후 체크포인트를 완료하기 전에 충돌하는 경우 수정(Michael Paquier, Kyotaro Horiguchi, Pavan Deolasee, Álvaro Herrera)
이로 인해 서버는 후속 WAL 재생 중에 일관된 데이터베이스 상태에 도달했다고 생각하지 않아 다시 시작하지 못하게 되는 상황이 발생했습니다.
모두 0인 btree 페이지를 재활용할 때 가짜 WAL 레코드 방출을 방지하세요(Amit Kapila)
이 실수는 어설션 실패를 일으키는 것으로 나타났으며 잠재적으로 상시 대기 서버사설 토토 불필요한 쿼리 취소가 발생할 수 있습니다.
WAL 재생 중에 1GB를 초과하는 손상된 레코드 길이로부터 보호합니다(Michael Paquier)
이러한 경우는 손상된 데이터로 처리하십시오. 이전에는 코드가 공간을 할당하려고 시도하고 하드 오류가 발생하여 복구가 불가능했습니다.
복구 종료 시 타임라인 히스토리 파일 쓰기를 최대한 지연하세요(Heikki Linnaka사설 토토as)
이것은 복구 정리 중 오류(예: 2단계 상태 파일 문제)로 인해 디스크의 타임라인 상태가 일관되지 않는 상황을 방지합니다.
많은 관계를 삭제하는 트랜잭션에 대한 WAL 재생 성능 개선(Fujii Masao)
이 변경으로 인해 공유 버퍼가 스캔되는 횟수가 줄어들므로 해당 설정이 클 때 가장 유리합니다.
대기 서버 WAL 재생 시 잠금 해제 성능 개선 (Thomas Munro)
논리적 WAL 발신자가 스트리밍 상태를 올바르게 보고하도록 합니다(Simon Riggs, Sawada Masahiko)
코드는 이전에 업스트림 서버를 따라잡았는지 여부를 잘못 감지했습니다.
논리적 복제 구독자(Minh-Quan Tran, Álvaro Herrera)사설 토토 데이터 유형 입력 기능을 실행할 때 스냅샷이 제공되는지 확인
이 누락으로 인해 SQL 언어 함수를 사용하는 제약 조건이 있는 도메인과 같은 일부 경우에 오류가 발생했습니다.
논리적 디코딩 중 스냅샷 처리 버그 수정, 드물게 잘못된 디코딩 결과 발생 가능(Arseny Sher, Álvaro Herrera)
논리 복제 테이블 동기화 작업자에 하위 트랜잭션 처리 추가(Amit Khandekar, Robert Haas)
이전에는 동기화되는 테이블을 수정한 후 하위 트랜잭션이 중단되면 테이블 동기화가 오작동할 수 있었습니다.
인덱스 생성이 도중에 실패한 후 테이블의 캐시된 인덱스 목록이 올바르게 재구축되는지 확인하세요(Peter Geoghegan)
이전에는 실패한 색인의 OID가 목록에 남아 있어 나중에 동일한 세션에서 문제를 일으킬 수 있었습니다.
GIN 색인에서 압축되지 않은 빈 게시 목록 페이지의 잘못된 처리 수정(Sivasubramanian Ramasubramanian, Alexander Korotkov)
이로 인해 9.4 이전 GIN 인덱스의 pg_upgrade 후 어설션 실패가 발생할 수 있습니다(9.4 이상에서는 해당 페이지를 생성하지 않습니다).
캐시 라인 공유를 줄이기 위해 명명되지 않은 POSIX 세마포어 배열 패드(Thomas Munro)
이는 CPU가 많은 시스템의 경합을 줄여 Linux 및 FreeBSD에서 (이전 릴리스와 비교하여) 성능 저하를 수정합니다.
병렬 인덱스 스캔을 수행하는 프로세스가 신호에 응답하는지 확인하세요(Amit Kapila)
이전에는 병렬 작업자가 인덱스 페이지의 잠금을 기다리며 쿼리 중단 요청을 인지하지 못하고 멈춰 있을 수 있었습니다.
다음을 확인하세요진공btree 페이지 삭제 루프 내의 신호에 응답합니다(Andres Freund)
손상된 btree 인덱스로 인해 여기서 무한 루프가 발생할 수 있으며 이전에는 충돌을 강제하지 않고는 중단할 수 없었습니다.
inner_unique 최적화로 인해 발생한 해시 조인 비용 오류 수정(David Rowley)
이것은 최적화가 적용 가능한 상황에서 잘못된 계획 선택으로 이어질 수 있습니다.
복합 유형 열과 관련된 동등 클래스의 잘못된 최적화 수정(Tom Lane)
이로 인해 복합 열의 인덱스가 해당 열의 병합 조인에 필요한 정렬 순서를 제공할 수 있다는 것을 인식하지 못하게 되었습니다.
피하려면 플래너 수정“ORDER/GROUP BY 표현식을 대상 목록사설 토토 찾을 수 없습니다.”설정 반환 함수를 사용한 일부 쿼리의 오류(Tom Lane)
배열과 같은 다형성 btree 연산자 클래스를 사용하는 데이터 유형의 파티션 키 처리 문제 수정(Amit Langote, Álvaro Herrera)
SQL 표준 수정먼저 가져오기매개변수를 허용하는 구문($), 표준사설 토토 예상하는 대로(Andrew Gierth)n
중복 파티션 키 열에 대한 문서화되지 않은 제한 제거(Yugo Nagata)
임시 테이블이 비임시 테이블의 파티션이 되는 것을 허용하지 않음(Amit La사설 토토ote, Michael Paquier)
이전에는 허용되었지만 이 사례는 안정적으로 작동하지 않았습니다.
수정설명병렬 작업자의 리소스 사용량, 특히 버퍼 액세스에 대한 설명(Amit Kapila, Robert Haas)
수정모두 표시구성원인 역할에 대한 모든 설정을 표시합니다.pg_read_all_setti사설 토토s또한 해당 역할이 소스 파일 이름과 줄 번호를 볼 수 있도록 허용합니다.pg_setti사설 토토s보기 (Laurenz Albe, Álvaro Herrera)
일부 객체 이름의 스키마 한정 실패 수정getObjectDescription그리고getObjectIdentity출력(호리구치 쿄타로, 톰 레인)
조합, 변환, 텍스트 검색 개체, 게시 관계 및 확장 통계 개체의 이름은 스키마에 따라 한정되어야 하는데 그렇지 않았습니다.
수정집합 생성병렬성 지원 함수가 가변 집합에 첨부될 수 있도록 유형 검사(Alexey Bashtanov)
확대복사본:32에서 64비트까지의 현재 행 번호 카운터(David Rowley)
이것은 4G 라인을 초과하는 입력과 관련된 두 가지 문제를 방지합니다.헤더로 복사첫 번째 라인뿐만 아니라 4G 라인마다 라인을 삭제하고 오류 보고서에 잘못된 라인 번호가 표시될 수 있습니다.
단일 사용자 모드사설 토토 복제 슬롯 삭제 허용(Álvaro Herrera)
이 사용 사례는 사설 토토 10.0에서 실수로 중단되었습니다.
잘못된 결과 수정분산(int4)및 병렬 집계 모드사설 토토 실행될 때 관련 집계(David Rowley)
프로세스텍스트그리고CDATA노드가 정확함xmltable()열 표현식(Markus Winand)
다음의 실패 가능성에 대처합니다.오픈SSL'sRAND_bytes()함수 (Dean Rasheed, Michael Paquier)
드물지만 이러한 감독으로 인해 다음과 같은 결과가 발생할 수 있습니다.“임의 취소 키를 생성할 수 없습니다.”포스트마스터를 다시 시작해야만 해결할 수 있는 오류.
수정libpq의 경우에 대한 처리hostaddr지정됨(Hari Babu, Tom Lane, Robert Haas)
PQ호스트()어떤 경우에는 오해의 소지가 있거나 잘못된 결과를 제공했습니다. 이제 지정된 경우 호스트 이름을 균일하게 반환하고, 지정된 경우에만 호스트 주소를 반환하거나 기본 호스트 이름(일반적으로/tmp또는로컬호스트) 두 매개변수가 모두 생략된 경우.
또한 SSL 인증서를 확인할 때 잘못된 값이 서버 이름과 비교될 수 있습니다.
또한 잘못된 값이 호스트 이름 필드와 비교될 수 있습니다.~/.pgpass. 이제 해당 필드는 지정된 경우 호스트 이름과 비교되거나 지정된 경우에만 호스트 주소와 비교됩니다. 또는로컬호스트두 매개변수가 모두 생략된 경우.
또한 구문 분석할 수 없는 오류 메시지가 보고되었습니다.hostaddr값.
또한, 때호스트, hostaddr또는포트매개변수에는 쉼표로 구분된 목록이 포함되어 있습니다.libpq이제 목록의 빈 요소를 기본 동작 선택으로 처리하는 데 더욱 주의를 기울입니다.
다음에 문자열 해제 기능 추가ecpg'spgtypes라이브러리, Windows사설 토토 모듈 간 메모리 관리 문제를 피할 수 있도록 함 (Takayuki Tsunakawa)
Windows에서는 다음과 같은 경우 충돌이 발생할 수 있습니다.무료주어진 메모리 청크에 대한 호출이 동일한 DLL사설 토토 만들어지지 않았습니다.malloc' 메모리를 삭제했습니다.pgtypes라이브러리는 때때로 호출자가 해제할 것으로 예상되는 문자열을 반환하므로 이 규칙을 따르는 것이 불가능합니다. 를 추가하세요PGTYPESchar_free()단지 래핑하는 함수무료, 애플리케이션이 이 규칙을 따를 수 있도록 허용합니다.
수정ecpg님의 지원길다 길다Windows 및 선언하는 기타 플랫폼의 변수strtoll/strtoull비표준 또는 전혀 아님(Dang Minh Huong, Tom Lane)
규칙 변경으로 인해 세션 내 명령문의 의미가 변경되는 경우 PL/pgSQL에서 SQL 문 유형의 잘못된 식별 수정(Tom Lane)
이 오류로 인해 어설션이 실패하거나 드물지만 시행에 실패했습니다.엄격하게옵션이 예상대로입니다.
클라이언트 프로그램에서 비밀번호 프롬프트를 수정하여 다음과 같은 경우 Windows에서 에코가 제대로 비활성화되도록 합니다.표준입력터미널이 아닙니다(Matthew Stickney)
덤프에서 목록 값 GUC 변수의 값을 잘못 인용하는 추가 수정(Tom Lane)
인용에 대한 이전 수정 사항검색_경로및 기타 목록 값 변수pg_dump빈 문자열 목록 요소에 대한 출력이 오작동하는 것으로 밝혀졌으며 긴 파일 경로가 잘릴 위험이 있었습니다.
수정pg_dump의 덤프 실패복제본 ID제약조건 색인 속성(Tom Lane)
수동으로 생성된 고유 인덱스는 올바르게 표시되었지만 선언으로 생성된 고유 인덱스는 표시되지 않았습니다.고유또는기본 키제약조건.
만들다pg_upgrade이전 서버가 완전히 종료되었는지 확인하세요(Bruce Momjian)
이전 검사는 즉시 모드 종료로 인해 속일 수 있습니다.
수정contrib/hstore_plperlPerl 스칼라 참조를 살펴보고 예상한 해시 참조를 찾지 못한 경우 충돌을 방지하기 위해(Tom Lane)
충돌 수정기여/ltree'slca()입력 배열이 비어 있을 때의 함수 (Pierre Ducroquet)
잘못된 오류 코드가 보고될 수 있는 다양한 오류 처리 코드 경로 수정(Michael Paquier, Tom Lane, Magnus Hagander)
프로그램이 새로 구축된 라이브러리(예:libpq.so) 시스템 라이브러리 디렉터리에 존재할 수 있는 디렉터리(Tom Lane)가 아닌
이것은 이전 복사본을 제공하는 플랫폼에서 구축할 때 문제를 방지합니다.PostgreSQL도서관.
다음으로 시간대 데이터 파일 업데이트tzdata북한의 DST 법률 변경 사항과 체코슬로바키아의 역사적 수정 사항에 대한 2018e 릴리스입니다.
이 업데이트에는 다음의 재정의가 포함됩니다.“일광 절약 시간제”아일랜드에서도, 지난 몇 년간 나미비아와 체코슬로바키아에서도 그랬습니다. 해당 관할권에서는 법적으로 여름에는 표준시를, 겨울에는 일광 절약 시간을 준수하므로 일광 절약 시간 오프셋은 표준시보다 1시간 빠르지 않고 1시간 늦습니다. 이는 실제 UTC 오프셋이나 사용 중인 시간대 약어에 영향을 주지 않습니다. 유일하게 알려진 효과는 다음과 같습니다.is_dst열의pg_timezone_names이 경우 view는 이제 겨울에는 true이고 여름에는 false입니다.