| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 토토 캔 9.4.14 | PostgreSQL : 문서 : 9.4 : 범퍼카 토토 노트 | 부록 E. 출시 노트 | PostgreSQL : 문서 : 9.4 : 토토 사이트 추천 9.4.12 |
출시일: 2017-08-10
이 릴리스에는 9.4.12의 다양한 수정 사항이 포함되어 있습니다. 9.4 주요 릴리스의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.PostgreSQL : 문서 : 9.4 : 사설 토토 9.4.
9.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 인증을 위해 사용자 비밀번호를 사용하는 외부 데이터 서버를 사용하는 경우 아래 첫 번째 변경 로그 항목을 참조하십시오.
또한 9.4.12 이전 버전에서 업그레이드하는 경우 참조PostgreSQL : 문서 : 9.4 : 토토 사이트 추천 9.4.12.
다음의 공개 여부를 추가로 제한pg_user_mappings.u옵션, 사용자 매핑 옵션으로 저장된 비밀번호를 보호하기 위해(Noah Misch)
CVE-2017-7486에 대한 수정 사항이 올바르지 않았습니다. 사용자가 옵션이 없더라도 사용자 매핑롤 토토 옵션을 볼 수 있었습니다.사용법6547_6712information_schema.user_mapping_options이러한 경우 옵션을 표시하지 않습니다.pg_user_mappings둘 중 하나도 안됩니다. (CVE-2017-7547)
이 패치 자체는 새로 초기화된 데이터베이스의 동작만 수정합니다. 기존 데이터베이스에 이 변경 사항을 적용하려면 다음을 수행해야 합니다.
추가 후 포스트마스터 다시 시작allow_system_table_mods = true에postgresql.conf. (지원하는 버전에서)시스템 변경, 이를 사용하여 구성을 변경할 수 있지만 여전히 다시 시작해야 합니다.)
에각각클러스터 데이터베이스의 경우 슈퍼유저로 다음 명령을 실행하세요.
SET search_path = pg_catalog;
VIEW pg_user_mappings AS 생성 또는 교체
선택
U.oid AS 유미드,
S.oid AS 서비스,
S.srv이름 AS srv이름,
U.umuser AS umuser,
U.umuser = 0인 경우
'공개'
그 외
A.롤이름
END AS 사용자 이름,
CASE WHEN (U.umuser < 0 AND A.rolname = current_user
AND (pg_has_role(S.srvowner, '사용법')
또는 has_server_privilege(S.oid, 'USAGE')))
또는 (U.umuser = 0 AND pg_has_role(S.srvowner, '사용법'))
또는 (pg_authid에서 rolsuper 선택 WHERE rolname = current_user)
그런 다음 U.u옵션
ELSE NULL END AS 옵션
pg_user_mapping U에서
LEFT JOIN pg_authid A ON (A.oid = U.umuser) JOIN
pg_foreign_server S ON (U.umserver = S.oid);다음을 포함하는 것을 잊지 마세요템플릿0그리고템플릿1데이터베이스, 그렇지 않으면 나중에 생성하는 데이터베이스에 취약점이 여전히 존재하게 됩니다. 고치려면템플릿0, 일시적으로 연결을 허용하도록 해야 합니다. 롤 토토포스트그레SQL9.5 이상롤 토토는 사용할 수 있습니다
ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true;
그리고 수정 후템플릿0, 다음으로 실행 취소
ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false;
이전 버전에서는 대신 다음을 사용하십시오.
UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; 업데이트 pg_database SET datallowconn = false WHERE datname = 'template0';
마지막으로 다음을 제거하세요.allow_system_table_mods구성 설정을 완료하고 포스트마스터를 다시 시작하세요.
모든 비밀번호 기반 인증 방법롤 토토 빈 비밀번호를 허용하지 않음 (Heikki Linnakangas)
libpq빈 비밀번호 사양을 무시하고 이를 서버로 전송하지 않습니다. 따라서 사용자의 비밀번호가 빈 문자열로 설정된 경우 다음을 통해 해당 비밀번호로 로그인할 수 없습니다.psql또는 기타libpq기반 클라이언트. 따라서 관리자는 비밀번호를 비워 두는 것이 비밀번호 로그인을 비활성화하는 것과 같다고 생각할 수도 있습니다. 그러나 수정되거나 비-libpq기반 클라이언트롤 토토는 어떤 인증 방식을 설정하느냐에 따라 로그인이 가능할 수 있습니다. 특히 가장 일반적인 방법은,md5, 빈 비밀번호를 허용합니다. 모든 경우에 빈 비밀번호를 거부하도록 서버를 변경하십시오. (CVE-2017-7546)
만들다lo_put()확인업데이트대상 대형 객체에 대한 권한 (Tom Lane, Michael Paquier)
lo_put()반드시 동일한 권한이 필요합니다lowrite(), 그러나 검사가 누락되어 모든 사용자가 대형 개체의 데이터를 변경할 수 있었습니다. (CVE-2017-7548)
튜플 업데이트 체인의 동시 잠금 수정(Álvaro Herrera)
여러 세션이 이전 스냅샷을 사용하여 충돌하지 않는 잠금 모드로 튜플 업데이트 체인을 동시에 잠그고 모두 성공하는 경우, 경쟁 조건으로 인해 일부 세션이 그럼에도 불구하고 실패할 수 있었습니다(그리고 라이브 튜플 버전이 없다고 결론을 내릴 수 있습니다). 이로 인해 외래 키 검사에서 확실히 존재하지만 동시에 업데이트되는 튜플을 확인하지 못하는 등의 결과가 발생했습니다.
XMAX가 여전히 관심 있는 멤버가 정확히 하나인 다중항인 튜플을 동결할 때 발생할 수 있는 데이터 손상 수정(Teodor Sigaev)
메모리 내롤 토토 10억 개 이상의 튜플을 정렬할 때 정수 오버플로 및 그에 따른 충돌 방지(Sergey Koposov)
Windows롤 토토는 새 프로세스롤 토토 공유 메모리에 대한 주소 범위를 예약하지 못한 경우 프로세스 생성을 다시 시도합니다(Tom Lane, Amit Kapila)
이는 아마도 바이러스 백신 제품의 간섭으로 인해 드물게 발생하는 하위 프로세스 실행 실패를 수정할 것으로 예상됩니다.
Windows 빌드롤 토토 공유 조건자 잠금 해시 테이블의 낮은 확률 손상 수정(Thomas Munro, Tom Lane)
연결 재설정인 것처럼 SSL 연결의 완전한 종료를 기록하지 마십시오(Michael Paquier)
클라이언트에게 SSL 세션 티켓 전송 방지(톰 레인)
이 수정은 티켓 인식 클라이언트 측 SSL 코드로 인한 재연결 실패를 방지합니다.
설정 코드 수정tcp_keepalives_idleSolaris(톰 레인)
포스트마스터 종료 및 즉시 재시작 직후에 발행된 조회 메시지를 따르도록 통계 수집기 수정(Tom Lane)
이전 포스트마스터 종료 후 0.5초 이내에 발행된 통계 문의는 사실상 무시되었습니다.
통계 수집기의 수신 버퍼 크기가 100KB 이상인지 확인하세요(Tom Lane)
이것은 기본 수신 버퍼 크기가 그보다 작은 구형 플랫폼롤 토토 통계 데이터가 삭제될 위험을 줄여줍니다.
대기 대기가 처리 직후 승격될 때 유효하지 않은 WAL 세그먼트가 생성될 수 있는 문제 수정XLOG_SWITCHWAL 레코드(Andres Freund)
수정월센더클라이언트가 종료를 요청할 때 즉시 종료합니다(Tom Lane)
수정SIGHUP그리고SIGUSR1walsender 프로세스 처리(Petr Jelinek, Andres Freund)
종료 체크포인트 중 Walsender로 인한 패닉 방지(Andres Freund, Michael Paquier)
불필요하게 느린 재시작 수정월리시버포스트마스터(Tom Lane)의 경쟁 조건으로 인한 프로세스
매우 넓은 튜플의 논리적 디코딩 실패 수정(Andres Freund)
64KB보다 넓은 튜플에서 논리적 디코딩이 중단되었습니다(압축 후, 그러나 모든 데이터가 인라인인 경우). 이 사건은 다음과 같은 경우에만 발생합니다.복제본 ID 전체이러한 튜플을 포함하는 테이블에 대해 활성화됩니다.
논리적 디코딩 중에 디스크로 유출된 작은 하위 트랜잭션의 누출 수정(Andres Freund)
이로 인해 임시 파일이 과도한 디스크 공간을 소비하게 되었습니다.
논리적 디코딩 슬롯 생성 중 스냅샷 구축에 필요한 작업 감소(Andres Freund, Petr Jelinek)
이전 알고리즘은 공개 트랜잭션이 많은 서버에서 실행 불가능할 정도로 비쌌습니다.
논리 디코딩 슬롯 생성을 무기한 지연시킬 수 있는 경쟁 조건 수정(Andres Freund, Petr Jelinek)
syscache 무효화 이벤트 처리 시 오버헤드 감소(Tom Lane)
이는 빈번한 캐시 무효화를 유발하는 논리적 디코딩에 특히 유용합니다.
다음과 같은 경우 수정삽입또는업데이트도메인-배열 유형인 열의 둘 이상의 요소에 할당(Tom Lane)
하위롤 토토 창 기능을 사용할 수 있도록 허용선택집계 함수의 인수 내에 있는 것(Tom Lane)
자동 생성된 배열 유형을 방해가 되지 않는 위치로 이동변경 ... 이름 바꾸기(두려워하는 빅)
이전에는 충돌하는 자동 생성 배열 유형의 이름을 변경하는 동안 방해가 되지 않았습니다.생성; 이 수정 사항은 해당 동작을 이름 바꾸기 작업으로 확장합니다.
다음을 확인하세요사용자 변경 ... 설정다음과 같은 모든 구문 변형을 허용합니다.역할 변경 ... 설정그렇습니다 (피터 아이젠트라우트)
데이터 유형 I/O 함수의 인수 또는 반환 유형을 변경할 때 종속성 정보를 올바르게 업데이트합니다.불투명올바른 유형으로(Heikki Linnakangas)
유형 생성이 오랫동안 사용되지 않는 스타일로 선언된 I/O 함수를 업데이트하지만 유형에 대한 종속성을 기록하는 것을 잊어버려 후속 작업이 허용됩니다.삭제 유형깨진 함수 정의를 남겨두기 위해.
다음 경우에 메모리 사용량을 줄이세요분석프로세스 ats벡터열(Heikki Linnakangas)
곱셈이나 나눗셈 시 불필요한 정밀도 손실 및 엉성한 반올림 수정돈정수 또는 부동 소수점 값(Tom Lane)
다음과 같은 식별자를 구문 분석하는 함수에서 공백 검사를 강화합니다.regprocedurein()(톰 레인)
주요 로케일에 따라 이러한 함수는 멀티바이트 문자 조각을 공백으로 잘못 해석할 수 있습니다.
관련성 있는 사용#정의컴파일하는 동안 Perl의 기호PL/펄(아슈토시 샤르마, 톰 레인)
이것은 일반적으로 다음과 같이 나타나는 이식성 문제를 방지합니다."악수"최신 Perl 버전으로 작업할 때 라이브러리 로드 중 불일치.
에libpq, 연결 시도 실패 후 GSS/SASL 및 SSPI 인증 상태를 올바르게 재설정합니다(Michael Paquier)
이렇게 하지 않으면 SSL롤 토토 비SSL 연결로 대체할 때 SSL 시도의 GSS/SASL 실패로 인해 항상 비SSL 시도가 실패하게 됩니다. SSPI는 실패하지 않았지만 메모리가 누출되었습니다.
에psql, 다음과 같은 경우 실패 수정STDIN롤 토토 복사키보드 EOF 신호로 종료된 후 또 다른 신호로 종료됨STDIN롤 토토 복사시도됨(토마스 먼로)
이 오작동은 BSD 파생 플랫폼(macOS 포함)롤 토토 관찰되었지만 대부분의 다른 플랫폼롤 토토는 관찰되지 않았습니다.
수정pg_dump그리고pg_restore발산하다구체화된 보기 새로고침마지막 명령(톰 레인)
이것은 구체화된 뷰가 다른 사용자가 소유한 테이블을 참조할 때 덤프/복원 중 오류를 방지합니다.
개선pg_dump/pg_restore의 오류 조건 보고zlib(블라디미르 쿤시코프, 알바로 에레라)
수정pg_dump와--깨끗함예상대로 이벤트 트리거를 삭제하는 옵션(Tom Lane)
또한 이제 이벤트 트리거의 소유권을 올바르게 할당합니다. 이전에는 복원 스크립트를 실행하는 수퍼유저의 소유로 복원되었습니다.
수정pg_dump빈 연산자 클래스에 대해 유효하지 않은 SQL을 생성하지 않기 위해(Daniel Gustafsson)
수정pg_dumpWindows롤 토토 stdout으로 출력(Kuntal Ghosh)
stdout에 기록된 압축된 일반 텍스트 덤프에는 파일 설명자를 바이너리 모드로 전환하지 못하여 손상된 데이터가 포함됩니다.
수정pg_get_ruledef()에 대한 올바른 출력을 인쇄하려면선택 중열 이름이 변경된 뷰의 규칙(Tom Lane)
일부 특수한 경우에는pg_dump의존pg_get_ruledef()이 오류로 인해 덤프/다시 로드 실패가 발생할 수 있도록 뷰를 덤프합니다.
a의 결과와 같은 빈 제약 조건이 있는 외부 조인의 덤핑 수정자연스러운 왼쪽 조인공통 열 없음(Tom Lane)
함수 표현식 덤핑 수정발신표현식이 함수 호출처럼 보이는 것으로 해석되지 않는 경우의 절(Tom Lane)
수정pg_basebackupWindows롤 토토 stdout으로 출력(Haribabu Kommi)
stdout에 기록된 백업에는 파일 설명자를 바이너리 모드로 전환하지 못하여 손상된 데이터가 포함됩니다.
수정pg_upgrade최종 WAL 레코드에 다음이 없는지 확인합니다.wal_level = 최소(브루스 몸지안)
이 조건으로 인해 업그레이드된 대기 서버가 다시 연결되지 않을 수 있습니다.
에postgres_fdw, 이후에 원격 서버에 대한 연결을 다시 설정합니다.서버 변경또는사용자 매핑 변경명령(호리구치 쿄타로)
이렇게 하면 연결 매개변수에 영향을 미치는 옵션 변경 사항이 즉시 적용됩니다.
에postgres_fdw, 원격 트랜잭션 제어 명령 취소 허용 (Robert Haas, Rafia Sabih)
이 변경을 통해 이전보다 더 많은 경우에 응답하지 않는 원격 서버에 대한 대기를 신속하게 피할 수 있습니다.
증가MAX_SYSCACHE_CALLBACKS확장을 위한 더 많은 공간 제공(Tom Lane)
항상 사용-fPIC, 아님-fpic, gcc로 공유 라이브러리를 구축하는 경우(Tom Lane)
이것은 차이를 만드는 플랫폼에서 더 큰 확장 라이브러리를 지원합니다.
최신 Perl 버전의 경고 또는 오류를 방지하기 위해 Microsoft MSVC용 빌드 스크립트의 이스케이프되지 않은 중괄호 문제 수정(Andrew Dunstan)
MSVC 빌드에서 다음과 같은 경우를 처리합니다.openssl라이브러리가 a 내에 없습니다VC하위 디렉토리(앤드류 던스턴)
MSVC 빌드에서 적절한 포함 경로를 추가하세요.libxml2헤더 파일(앤드류 던스턴)
이것은 표준 Windows 설치에서 항목을 이동해야 하는 이전 요구 사항을 수정합니다.libxml2.
MSVC 빌드에서 이름이 지정된 Tcl 라이브러리를 인식tcl86.lib(노아 미쉬)
MSVC 빌드에서는 영광입니다PROVE_FLAGS설정vcregress.pl의 명령줄(앤드류 던스턴)