토토 결과 9.3.25 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 범퍼카 토토 9.0.20 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 노트 | 부록 E. 토토 결과 노트 | PostgreSQL : 문서 : 9.3 : 롤 토토 9.0.18 |
출시 날짜 : 2015-02-05
이 릴리스에는 9.0.18의 다양한 수정 사항이 포함되어 있습니다. 을 위한 9.0 주요 릴리스의 새로운 기능에 대한 정보 참조섹션 E.100.
9.0.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 더 일찍 버전에서 업그레이드하는 경우 9.0.18, 참조PostgreSQL : 문서 : 9.3 : 롤 토토 9.0.18.
버퍼 오버런 수정to_char ()
(Bruce Momjian)
언제to_char ()
숫자를 처리합니다
많은 수의 숫자를 호출하는 서식 템플릿,토토 결과끝을 지나서 읽을 것입니다
버퍼의. 제작 된 타임 스탬프 형식을 처리 할 때
주형,토토 결과쓰기
버퍼의 끝을 지나서. 두 경우 모두 서버가 충돌 할 수 있습니다. 우리
이어지는 공격의 가능성을 배제하지 않았습니다.
특권 에스컬레이션은 거의 보이지 않습니다.
(CVE-2015-0241)
교체에서 오버런 수정*printf ()
함수 (Tom Lane)
토토 결과포함 a
교체 구현printf
및 관련 기능. 이 코드는 언제 스택 버퍼를 오버런합니다
부동 소수점 번호 서식 (변환 지정자e, e, F, f, g또는g) 요청 된 상태
약 500보다 큰 정밀도. 이것은 서버에 충돌하고
우리는 공격의 가능성을 배제하지 않았습니다.
특권 에스컬레이션. 데이터베이스 사용자는 이러한 버퍼를 트리거 할 수 있습니다
를 통해 오버런to_char ()
SQL
기능. 그것이 유일한 영향을받는 핵심이지만토토 결과기능, 확장 모듈
Printf-Family 기능을 사용하는 것은 위험에 처할 수 있습니다.
이 문제는 주로 영향을 미칩니다토토 결과Windows.토토 결과시스템 구현을 사용합니다 이 기능은 다른 현대에있는 적절한 기능입니다. 플랫폼. (CVE-2015-0242)
수정 버퍼 오버런에서Contrib/Pgcrypto(Marko Tiikkaja, Noah Misch)
메모리 크기 추적 오류pgcrypto모듈 허용 스택 버퍼 오버런 및 비 초기 기억의 내용에 대한 부적절한 의존성. 그만큼 버퍼 오버런 케이스는 서버에 충돌 할 수 있으며 특권 에스컬레이션으로 이어지는 공격의 가능성. (CVE-2015-0243)
프론트 엔드/백엔드 프로토콜 동기화의 가능한 손실 수정 오류 후 (Heikki Linnakangas)
서버가 중간에있는 동안 오류가 발생한 경우 클라이언트의 프로토콜 메시지를 읽으면 잃을 수 있습니다. 동기화되고 잘못된 부분을 해석하려고합니다 새로운 프로토콜 메시지로서 메시지의 데이터. 공격자가 할 수 있습니다 명령 매개 변수 내에 제작 된 이진 데이터 제출이 성공할 수 있습니다. 자신의 SQL 명령을 이런 식으로 주입 할 때. 문장 시간 초과 및 쿼리 취소는 가장 가능성이 높은 오류가 발생합니다. 이 시나리오. 특히 취약한 응용 프로그램이 사용됩니다 타임 아웃 및 임의의 사용자 제작 데이터를 바이너리 쿼리로 제출하십시오. 매개 변수. 명세서 타임 아웃을 비활성화하면 감소하지만 그렇지 않습니다 악용의 위험을 제거하십시오. Emil Lenngren에게 감사드립니다 이 문제를보고합니다. (CVE-2015-0244)
구속 조건 분열 오류 메시지를 통해 정보 누출 수정 (스티븐 프로스트)
일부 서버 오류 메시지는 열의 값을 표시합니다. 고유 한 제약과 같은 제약을 위반하십시오. 사용자가하는 경우 가지고 있지 않음select모든 열의 특권 테이블에서 이것은 사용자가 해야하는 값을 노출시키는 것을 의미 할 수 있습니다. 볼 수 없습니다. 값이 표시되도록 코드를 조정하십시오 그들이 SQL 명령에서 왔거나 선택할 수있는 경우에만 사용자. (CVE-2014-8161)
회귀 테스트의 임시 설치를 잠그십시오 Windows (Noah Misch)
SSPI 인증을 사용하여 OS에서만 연결을 허용합니다. 테스트 스위트를 시작한 사용자. 이것은 창에서 동일하게 닫힙니다 취약점은 이전에 다른 플랫폼에서 폐쇄되었습니다 다른 사용자는 Test Postmaster에 연결할 수 있습니다. (CVE-2014-0067)
가능한 데이터 손상을 피하십시오변경 데이터베이스 설정 테이블 스페이스는 데이터베이스를 새로 이동하는 데 사용됩니다 테이블 스페이스 한 다음 얼마 후에 원본으로 다시 이동하십시오. 테이블 스페이스 (Tom Lane)
손상 테이블을 피하십시오분석트랜잭션 내부가 롤백됩니다 (Andres Freund, Tom Lane, 마이클 파키어)
실패한 거래가 이전 지수를 이전에 제거한 경우 규칙 또는 테이블에서 트리거, 테이블은 관련 상태로 부패한 상태pg_class플래그는 설정되어 있지 않아야합니다.
평가 플랜 Qual에서 준비된 프레드 메모리 문제를 해결합니다 처리 (Tom Lane)
inCommitted 읽기모드, 쿼리 최근 업데이트 된 행을 잠금 또는 업데이트하면 이 버그.
계획 수정업데이트 선택언제 아동 테이블 (Kyotaro Horiguchi)에서 부분 색인 사용
inCommited 읽기모드,업데이트 선택부분을 다시 확인해야합니다 인덱스여기서재확인시 조건 a 최근에 업데이트 된 행은 여전히 쿼리를 만족시키는 지 확인합니다여기서조건. 이 요구 사항은있었습니다 색인이 상속 하위 테이블에 속한 지 누락하므로 더 이상 만족하지 않는 행을 잘못 반환 할 수있었습니다. 쿼리 조건.
코너 케이스 수정선택을 선택하십시오 업데이트2 회 행을 반환 할 수 있고 아마도 돌아 오는 것을 놓칠 수 있습니다 기타 행 (Tom Lane)
inCommitted모드, a업데이트 선택상속을 스캔하는 것입니다 트리는 이전 자식 테이블에서 행을 잘못 반환 할 수 있습니다. 나중에 어린이 테이블에서 돌아와야합니다.
참조 컬럼 목록에서 중복 열 이름을 거부합니다 에이외국 키선언 (David Rowley)
이 제한은 SQL 표준 당입니다. 이전에는 우리가하지 않았습니다 사건을 명시 적으로 거부하지만 나중에 코드에서 실패합니다. 기괴한 오류.
a를 고정하는 버그 수정숫자값에 대한 값 큰 적분 전력 (Tom Lane)
이전 코드는 잘못된 답을 얻거나 과도하게 소비 할 수 있습니다. 대답이 필요하다는 것을 깨닫기 전에 시간과 기억의 양 과다.
innumeric_recv ()
, 잘라
값에 따라 숨겨져있는 모든 분수 숫자dscale필드 (Tom Lane)
a숫자값의 디스플레이 스케일 (dscale)는 절대 그보다 적어서는 안됩니다 0 비 분수 숫자 수; 그러나 분명히 거기에 있습니다 바이너리를 전송하는 최소 하나의 깨진 클라이언트 응용 프로그램숫자그것이 사실 인 값. 이것 여분의 숫자가 들어가기 때문에 이상한 행동으로 이어집니다. 산술 작업에 의한 계정 인쇄되지 않더라도. 가장 위험한 수정은 그러한 것을 절단하는 것 같습니다"숨겨진"값이 값이되도록 영수증의 숫자 실제로 인쇄하는 것.
범위 외 숫자 시간대 사양을 거부합니다 (Tom 레인)
간단한 숫자 시간대 사양 +/- 168 시간을 초과합니다 (일주일)은 받아 들여지지만 Null-Pointer를 유발할 수 있습니다. 특정 운영에서는 피로 충돌이 발생합니다. 사용 사례는 없습니다 그런 큰 UTC가 상쇄되므로 거부하십시오.
버그 수정에서tsquery @ tsquery운영자 (Heikki Linnakangas)
두 가지 다른 용어가 같은 CRC. 또한 두 번째 피연산자가 첫째, 첫 번째에는 포함되지 않는 것으로 가정합니다. 어느 중복 용어가 포함될 수 있으므로 잘못되었습니다.
잘못된 부착 파일에 대한 Ispell Dictionary의 방어 개선 (Tom Lane)
동의어 사전에서 64k 이상의 문구를 허용합니다 (David Boutin)
이전 코딩은 대형 사전에 충돌 할 수 있습니다. 이것은 기능이 아닌 역전 가능한 버그 수정으로 간주되었습니다. 덧셈.
네임 스페이스 처리 수정xpath ()
(Ali Akbar)
이전에XMLxpath ()
전화는 없을 것입니다
네임 스페이스 선언 네임 스페이스 선언이 첨부 된 경우
입력의 조상 요소에XML반환되는 특정 요소가 아닌 값.
결과가 정확하도록 조상 선언을 전파하십시오.
고립 된 고려할 때.
중첩 된 Append Relations의 플래너 문제를 해결하십시오 내부의 상속 테이블Union All서브 쿼리 (Tom Lane)
GIST 인덱스 튜플이 페이지에 맞지 않으면 깨끗하게 실패하십시오. 무한 재귀로 들어가기보다는 (Andrew Gierth)
테이블 당 지정된 테이블Cost_Limit및/또는Cost_DelayAutovacuum의 글로벌 비용으로부터의 설정 균형 규칙 (Álvaro Herrera)
이전 동작은 기본적으로이를 무시했습니다 의도하지 않은 테이블마다 설정. 이제, 그런 테이블 해당 설정을 사용하여 설정은 독립적으로 진공 청소합니다 다른 Autovacuum 근로자에서 무슨 일이 일어나고 있는지. 결과가 발생할 수 있습니다 이전보다 총 I/O로드가 더 많으므로 그러한 설정은 정신을 위해 재검토.
autovacuum이 명목상으로 꺼질 때 도매가자가 경비를 피하십시오 (Tom Lane)
Autovacuum이 명목상으로 꺼져 있어도 여전히 출시됩니다. Autovacuum 작업자는 위험에 처한 진공 테이블을 처리합니다. xid 랩 어라운드. 그러나 그러한 근로자 과정이 진행되었습니다 평소를 충족하는 경우 대상 데이터베이스의 모든 테이블을 진공 청소기 자동 변증을위한 임계 값. 이것은 기껏해야 예상치 못한 일입니다. ~에 최악의 랩 어라운드 위협에 대한 응답을 지연시킵니다. 그것을 고치십시오 autovacuum이 꺼지면 근로자전용raparound 진공 청소기 및 다른 일이 아닙니다.
핫 대기 쿼리와 재생 사이의 레이스 조건 수정 풀 페이지 이미지 (Heikki Linnakangas)
이 실수는 쿼리에 일시적 오류가 발생할 수 있습니다. 핫 스탠드에서 실행.
복구 논리가 부적절하게 무시한 몇 가지 경우를 수정하십시오 에 대한 기록Commit/Abort 준비(Heikki Linnakangas)
가장 주목할만한 감독은입니다.복구 _target_xida 2 단계 커밋
불필요한 생성을 피하십시오.ready타임 라인 기록 파일을위한 마커 파일 (fujii masao)
빈 준비가 될 때 가능한 널 포인터 피해를 해결하십시오 진술이 사용되고log_statement설정은mod또는DDL(Fujii Masao)
변경"PGSTAT 대기 시간 초과"경고 로그 레벨이 될 메시지, 더 이해하기 쉬워지는 메시지 (Tom Lane)
이 메시지는 원래 본질적으로 a 사례를 제외 할 수는 없지만 느리게 자주 발생합니다. Buildfarm 회원은 성가신 일입니다. 로그 레벨로 줄이십시오 문구에 대해 조금 더 많은 노력을 기울이십시오 : 이제 읽습니다"현재 통계 대신 오래된 통계를 사용하여 통계 수집가가 응답하지 않습니다 ".
SPARC 스핀 락 구현을 수정하여 정확성을 보장합니다 CPU는 비 중 솔라리스와 같이 비 TSO 일관성 모드에서 실행됩니다. 커널 DO (Andres Freund)
OS X의 경우 경고setLocale ()
시작
우체국 장 내부의 원치 않는 추가 스레드 (Noah Misch)
반복 처리 수정dbname매개 변수PQCONNECTDBPARAMS ()
(Alex Shulgin)
처음 발생하면 예상치 못한 행동이 계속됩니다dbname연결 문자열 또는 URI를 포함했습니다 퍼지는.
libpq보고서 a 예상치 못한 소켓 EOF의 적절한 오류 메시지 (Marko Tiikkaja, 톰 레인)
커널 동작에 따라libpq빈 오류 문자열을 반환 할 수 있습니다 서버가 예기치 않게 닫을 때 유용한 것이 아니라 소켓.
기존 오류 메시지를 지우는 동안pqreset ()
(Heikki Linnakangas)
ifpqreset ()
반복적으로 호출됩니다.
연결을 다시 설정할 수는 없습니다. 오류 메시지
실패한 연결 시도가 계속 축적되었습니다.pgconn의 오류 문자열.
구문 분석하는 동안 메모리 외 조건을 적절하게 처리합니다 연결 옵션libpq(Alex Shulgin, Heikki Linnakangas)
배열 오버런 수정ECPG's
의 버전parsedateTime ()
(Michael
Paquier)
ininitdb, 명확한 오류를 제공하십시오 메시지 비밀번호 파일이 지정되어 있지만 비어있는 경우 (Mats Erik 앤더슨)
수정PSQL's\ slibedit과 잘 작동하도록 명령하고 추가하십시오 Pager Support (Stepan Rutz, Tom Lane)
readline보다는 libedit을 사용할 때\ s명령 기록을 공정하게 인쇄했습니다 읽을 수없는 인코딩 형식 및 최근 LIBEDIT 버전이있을 수 있습니다 모두 실패합니다. 오히려 역사를 인쇄하여 고치십시오 도서관이 그렇게하는 것보다. 즐거운 부작용은 호출기는 적절한 경우 사용됩니다.
이 패치는 또한 Newline 인코딩이 발생하는 버그를 수정합니다. 명령 기록을 저장할 때 일관되지 않게 적용됩니다 libedit. 나이가 쓴 다중 역사 항목PSQL버전은 이것으로 깨끗하게 읽습니다 정확한 libedit에 따라 패치, 그러나 아마도 그 반대는 아닙니다. 관련된 버전.
구문 분석의 일관성 향상PSQL의 특수 변수 (Tom Lane)
변형 철자 허용onandOFF(예 :1/0) forecho_hidden및on_error_rollback. 인식되지 않은 경고를보고하십시오 에 대한 값comp_keyword_case, echo, echo_hidden, histControl, on_error_rollback및Verbosity. 이 모든 값을 인식하십시오 변수는 비면적으로; 이전에는 Mishmash가있었습니다 사례에 민감하고 사례에 민감한 행동.
수정PSQL의 확장 모드 사용할 때 일관되게 작동하도록 표시국경= 3 및Linestyle=ASCII또는유니 코드(Stephen Frost)
스키마 전용의 병렬 복원 중 가능한 교착 상태를 수정하십시오 덤프 (Robert Haas, Tom Lane)
코어 덤프 수정pg_dump -이진 업그레이드제로 컬럼 복합 유형 (Rushabh 라티아)
수정 블록 번호 체크인Contrib/PageInspect'sget_raw_page ()
(Tom Lane)
잘못된 확인 논리는 일부 페이지에 대한 액세스를 방지 할 수 있습니다. 비 메인 관계 포크에서.
수정Contrib/Pgcrypto'spgp_sym_decrypt ()
메시지에 실패하지 않도록
길이는 2의 전력보다 6입니다 (Marko Tiikkaja)
예상치 못한 쿼리 결과, 특히 널, 안전하게Contrib/TableFunc'sConnectby ()
(Michael Paquier)
Connectby ()
이전에 추락 if
무효 키 값이 발생했습니다. 이제 그 행을 인쇄하지만 그렇지 않습니다
더 많이 되 찾으십시오.
가능한 충돌을 피하십시오Contrib/XML2'sxslt_process ()
(Mark Simonetti)
libxslt자원이 해제되는 순서에 대한 문서화되지 않은 의존성; 충돌을 피하기 위해 전화를 다시 주문하십시오.
Coverity 정적 코드 분석기의 수많은 경고 정리 (Andres Freund, Tatsuo Ishii, Marko Kreen, Tom Lane, Michael Paquier)
이러한 변경 사항은 대부분 미용하지만 경우에 따라 수정 코너 케이스 버그, 예를 들어 적절한 오류가 아닌 충돌 메모리가없는 실패 후보고하십시오. 아무도 믿지 않습니다 보안 문제를 나타냅니다.
빌드 중에 호환되지 않는 OpenLDAP 버전 감지 (Noah 미사)
OpenLDAP 버전 2.4.24 ~ 2.4.31, 포함,토토 결과백엔드가 충돌 할 수 있습니다 출구. 동안 경고를 제기구성Compile-Time OpenLDap을 기반으로합니다 버전 번호,에서 충돌 시나리오 테스트Contrib/DBlink회귀 테스트.
비 MSVC Windows 빌드에서libpq.dll는 Execute 권한과 함께 설치됩니다 (노아 미치)
만들기PG_REGRESS제거하십시오 성공적인 출구시 생성 된 임시 설치 (Tom 레인)
이로 인해 디스크 공간 사용이 매우 상당히 감소합니다. 동안체크 월드 만들기이후 시퀀스는 수많은 임시 설치를 포함합니다.
지원 시간대 지대 약어 UTC 오프셋을 시간부터 변경합니다. 시간 (Tom Lane)
이전,토토 결과가정 타임 존 약어와 관련된 UTC 오프셋 ( 처럼EST) 사용은 절대 변하지 않습니다 특정 로케일. 그러나이 가정은 현실 세계에서 실패하지만 따라서 구역 약어가 UTC를 나타내는 능력을 소개합니다. 때때로 변하는 오프셋. 영역 약어를 업데이트하십시오 Timezone Locales 에서이 기능을 사용하는 정의 파일 1970 년 이래로 약어의 UTC 상쇄를 변경했습니다. (Iana Timezone 데이터베이스에 따르면). 그런 시간에토토 결과이제 연결합니다 주어진에 따라 약어로 올바른 UTC 오프셋 날짜.
업데이트 시간대 약어 목록 (Tom Lane)
목록에 CST (중국 표준 시간)를 추가하십시오. 참조를 제거하십시오 as as"아라비아 일광 시간", an 2007 년부터 사용되지 않은 약어; 따라서 주장합니다 충돌이 있습니다"대서양 일광 시간"특히 도움이되지 않는 것 같습니다. 완전히 수정하십시오 CKT (Cook Islands), FJT 및 FJST (피지)에 대한 잘못된 GMT 오프셋; 우리는 날짜 줄의 적절한 쪽에도 그것들을 가지고 있지 않았습니다.
시간대 데이터 파일 업데이트TZDATA토토 결과 2015a.
Iana Timezone 데이터베이스는 양식의 약어를 채택했습니다axst/axDT모든 호주 시간 구역의 경우, 그들이 현재 다수라고 믿는 것을 반영하는 것을 반영합니다. 아래에. 이 이름은 다른 곳에서 사용량과 충돌하지 않습니다 (다른 것 1994 년 이래로 무시한 에이커 여름 시간을위한 ACST). 따라서이 이름을 우리에게 채택하십시오"기본"시간대 약어 세트. 그만큼"호주"약어가 지금 설정되었습니다 CST, East, Est, Sast, Sat 및 WST 만 포함되어 있습니다. 대부분 역사적 사용법이라고 생각했습니다. Sast도 그랬습니다 남아프리카 공화국 표준 시간으로 변경되었습니다"기본"약어 세트.
또한 구역 약어 SRET (ASIA/SREDNEKOLYMSK) 및 XJT를 추가하십시오 (Asia/Urumqi), 서부 사모아에는 WSST/WSDT를 사용합니다. 또한, 거기 칠레, 멕시코, Turks & Caicos의 DST 법률 변경이었습니다. 섬 (America/Grand_turk) 및 피지. 새로운 영역이 있습니다 파푸아 뉴기니의 일부를위한 태평양/부겐 빌. 또한, 역사적 (1970 년 이전) 시간대 데이터에 대한 수많은 수정.
이전 | 배트맨 토토 결과 : 문서 : 9.3 : 배트맨 토토 결과 9.3.25 문서화 | 다음 |
릴리스 9.0.20 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 노트 | 릴리스 9.0.18 |