| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 토토 꽁 머니 9.4.3 | PostgreSQL : 문서 : 9.4 : 범퍼카 토토 노트 | 부록 E. 출시 노트 | PostgreSQL : 문서 : 9.4 : 범퍼카 토토 9.4.1 |
출시일: 2015-05-22
이 릴리스에는 9.4.1의 다양한 수정 사항이 포함되어 있습니다. 9.4 주요 릴리스의 새로운 기능에 대한 자세한 내용은 다음을 참조하세요.PostgreSQL : 문서 : 9.4 : 사설 토토 9.4.
9.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다.
그러나 다음을 사용하는 경우기여/citext의regexp_matches()함수, 이에 대해서는 아래 변경 로그 항목을 참조하세요.
또한 9.4.1 이전 버전에서 업그레이드하는 경우 참조PostgreSQL : 문서 : 9.4 : 범퍼카 토토 9.4.1.
인증 시간 초과가 만료되기 직전에 클라이언트 연결이 끊어질 때 발생할 수 있는 충돌 방지(Benkocs Norbert Attila)
시간 초과 인터럽트가 세션 종료 시퀀스 중간에 실행되면 SSL 관련 상태가 두 번 해제되며 일반적으로 충돌이 발생하여 다른 세션에 대한 서비스 거부가 발생합니다. 실험에 따르면 인증되지 않은 원격 공격자가 버그를 어느 정도 지속적으로 유발할 수 있으므로 보안 문제로 취급될 수 있습니다. (CVE-2015-3165)
시스템 호출 실패 감지 개선(Noah Misch)
다음 대체 구현snprintf()기본 시스템 라이브러리 호출에 의해 보고된 오류를 확인하지 못했습니다. 놓칠 수 있는 주요 사례는 메모리 부족 상황입니다. 최악의 경우 이는 정보 노출로 이어질 수 있습니다. 우리 코드는 버퍼가 덮어쓰여지지 않았는데 덮어씌워졌다고 가정하기 때문입니다. 또한 다른 시스템 라이브러리 함수의 보안 관련 호출이 실패를 확인하지 않는 곳이 몇 군데 있었습니다.
다음의 일부 호출은 여전히 가능합니다.*printf()함수군은 잘못된 시간에 메모리 부족 오류가 발생할 경우 정보 공개에 취약합니다. 위험성은 크지 않다고 판단되나, 이 부분에 대한 분석을 계속해 나가겠습니다. (CVE-2015-3166)
에기여/pgcrypto, 암호 해독 실패를 다음과 같이 균일하게 보고합니다."잘못된 키 또는 손상된 데이터"(노아 미쉬)
이전에는 잘못된 키를 사용하여 암호를 해독하는 경우 다른 오류 메시지 텍스트가 보고될 수 있었습니다. 오류 보고의 이러한 변화는 공격자가 다른 시스템에서 키를 복구하는 데 도움이 될 수 있는 것으로 나타났습니다. 여부는 알 수 없지만pgcrypto의 특정 행동도 마찬가지로 악용될 수 있으므로 모든 경우에 적용되는 단일 크기 메시지를 사용하여 위험을 피하는 것이 더 나은 것 같습니다. (CVE-2015-3167)
다중 구성원 ID 랩어라운드로부터 보호(Álvaro Herrera, Robert Haas, Thomas Munro)
특정 사용 패턴스포츠 토토 베트맨는 이에 대한 기존 방어가 충분하지 않을 수 있습니다.pg_multixact/members파일을 너무 일찍 제거하면 데이터가 손실될 수 있습니다. 이에 대한 수정 사항에는 이전 multixact 구성원 ID 데이터를 덮어쓰게 되는 트랜잭션이 실패하도록 서버를 수정하고, 트랜잭션 ID 랩어라운드와 마찬가지로 multixact 구성원 ID 랩어라운드를 방지하기 위해 사전에 조치를 취하도록 autovacuum을 개선하는 것이 포함됩니다.
잘못된 선언 수정기여/citext의regexp_matches()기능 (톰 레인)
이 함수는 반환되어야 합니다텍스트 집합[], 래퍼인 핵심 기능과 같습니다. 하지만 방금 반환한 것으로 잘못 선언되었습니다.텍스트[]. 이 실수로 인해 두 가지 결과가 발생했습니다. 첫째, 일치하는 항목이 없으면 스칼라 null 결과를 얻는 반면, 얻어야 하는 것은 빈 세트(0개 행)입니다. 둘째,g플래그는 사실상 무시되었습니다. 일치하는 항목이 여러 개 있어도 결과 배열은 하나만 얻을 수 있기 때문입니다.
후자의 동작은 분명히 버그이지만 전자의 동작에 따라 응용프로그램이 있을 수 있습니다. 따라서 함수 선언은 기본적으로 다음까지 변경되지 않습니다.포스트그레SQL9.5. 9.5 이전 분기에서는 이전 동작이 버전 1.0에 존재합니다.citext확장, 버전 1.1스포츠 토토 베트맨는 수정된 선언을 제공했습니다(즉아님기본적으로 설치됨). 9.5 이전 분기에서 수정 사항을 채택하려면 다음을 실행하세요.'1.1'로 확장 citext 업데이트 변경각 데이터베이스스포츠 토토 베트맨citext설치되었습니다. (당신도 할 수 있습니다."업데이트"실행 취소해야 하는 경우 1.0으로 돌아가세요.) 어느 업데이트 방향이든 사용하는 뷰나 규칙을 삭제하고 다시 생성해야 한다는 점에 유의하세요.citext의regexp_matches()함수.
무한 날짜 및 타임스탬프를 다음으로 렌더링무한대다음으로 변환할 때json, 오류가 발생하기보다는 (Andrew Dunstan)
수정json/jsonb'spopulate_record()그리고to_record()빈 입력을 적절하게 처리하는 함수(Andrew Dunstan)
핫 업데이트 후 지연된 제외 제약 조건의 잘못된 검사 수정(Tom Lane)
지연된 제외 제약 조건을 잠재적으로 위반하는 새 행이 나중에 동일한 트랜잭션스포츠 토토 베트맨 HOT 업데이트되는 경우(즉, 인덱싱된 열이 변경되지 않고 행이 동일한 테이블 페이지에 다시 저장될 수 있음), 원래 새 행과 충돌했던 행이 삭제된 경우에도 최종 검사가 발생했을 때 제외 제약 조건이 위반된 것으로 보고됩니다.
외래 키 제약 조건 연기 가능성 상태를 변경할 때의 동작 수정테이블 변경 ... 제약 조건 변경(톰 레인)
동일 세션 또는 동시 세션의 이후 작업스포츠 토토 베트맨는 상태 변경이 즉시 적용되지 않을 수 있습니다.
스타 스키마 스타일 쿼리 계획 수정(Tom Lane)
때때로 대규모 테이블을 효율적으로 스캔하려면 둘 이상의 다른 테이블(일반적으로 대규모 사실 테이블을 색인화하는 데 키가 필요한 차원 테이블)스포츠 토토 베트맨 색인 매개변수를 제공해야 합니다. 기획자는 그러한 계획을 찾을 수 있어야 하지만 지나치게 제한적인 검색 휴리스틱으로 인해 이를 방지했습니다.
역조인(NOT EXISTS 조인)과 다른 외부 조인(Tom Lane)의 부적절한 재정렬을 방지합니다.
계획자의 이러한 감독으로 인해 다음이 발생하는 것으로 관찰되었습니다."주어진 relids에 대한 RelOptInfo를 찾을 수 없습니다"오류가 있지만 때로는 잘못된 쿼리 계획이 일관성 검사를 통과하여 자동으로 잘못된 쿼리 출력을 초래할 수도 있는 것 같습니다.
외부 조인 계획 노드에서 하위 표현식의 잘못된 일치 수정(Tom Lane)
이전에는 외부 조인 위와 아래 모두에서 텍스트로 동일하고 엄격하지 않은 하위 표현식이 사용된 경우 플래너는 조인 아래에서 계산된 값을 재사용하려고 시도할 수 있었습니다. 이는 일치하지 않는 외부 행의 경우 실행기가 값을 NULL로 강제하기 때문에 올바르지 않은 일이었습니다.
조인 순서 휴리스틱 실패에 대처하기 위해 GEQO 플래너 수정(Tom Lane)
이러한 감독은 다음으로 이어지는 것으로 나타났습니다."모든 관계를 함께 결합하는 데 실패했습니다"다음과 관련된 쿼리 오류측면, 다른 경우에도 이런 일이 발생할 수 있습니다.
행 잠금이 대상일 때 제대로 발생하는지 확인하십시오.업데이트또는삭제보안 장벽 보기입니다(스티븐 프로스트)
데이터베이스 시작 중 복제 슬롯 데이터를 동기화할 때 읽기/쓰기용으로 열린 파일 사용(Andres Freund)
일부 플랫폼에서는 이전 코딩으로 인해 다음과 같은 오류가 발생할 수 있습니다.""pg_replslot/..." 파일을 fsync할 수 없습니다: 잘못된 파일 설명자".
다음과 같은 경우 시작 시 발생할 수 있는 교착 상태 수정max_prepared_transactions너무 작습니다(Heikki Linnakangas)
타임라인 전환 후 쓸모없는 사전 할당 WAL 파일을 보관하지 마십시오(Heikki Linnakangas)
재귀적으로fsync()충돌 후 데이터 디렉토리(Abhijit Menon-Sen, Robert Haas)
이것은 곧 또 다른 충돌이 발생할 경우 일관성을 보장합니다. (두 번째 충돌은 데이터베이스 충돌뿐만 아니라 시스템 수준 충돌이어야 문제가 발생합니다.)
SIGTERM(Álvaro Herrera)을 수신한 후 오류가 발생하는 경우 autovacuum 실행 프로그램이 종료되지 않을 수 있는 문제 수정
세션 시작 초기에 시스템 카탈로그에 대한 무효화 메시지 처리 실패 문제 수정(Tom Lane)
이러한 감독으로 인해 다음과 동시에 시작되는 세션에 오류가 발생할 수 있습니다.진공 가득 참시스템 카탈로그에.
충돌 수정BackendIdGetTransactionIds()방금 종료된 백엔드 프로세스의 상태를 얻으려고 할 때(Tom Lane)
예기치 않은 신호에 대처LockBufferForCleanup()(안드레스 프룬드)
이러한 감독으로 인해 다음에 대한 허위 오류가 발생할 수 있습니다."여러 백엔드가 핀 카운트 1을 기다리려고 시도함".
실행 시 충돌 수정복사전체 행 참조를 포함하는 검사 제약 조건이 있는 테이블에 (Tom Lane)
알려진 실패 사례는 9.4 이상에서만 충돌이 발생하지만 9.3과 9.2에도 매우 유사한 코드가 있으므로 해당 분기도 백패치하세요.
사용자에 관한 한 읽기 전용이었던 트랜잭션을 커밋하는 동안 WAL 플러시 또는 동기식 복제를 기다리지 마십시오(Andres Freund)
이전에는 HOT 페이지 정리로 인해 WAL을 작성한 트랜잭션의 커밋 시 지연이 발생할 수 있었으며, 이로 인해 모든 동기 복제본이 다운된 경우 시작 시 세션이 중단되는 등 바람직하지 않은 결과가 발생할 수 있었습니다. 동기 복제를 사용할 때 세션이 캐치업 인터럽트 처리에서 멈추는 현상도 관찰되었습니다. 그러면 그 문제도 해결될 것입니다.
짧은 시간으로 바쁜 대기를 피하세요recovery_min_apply_delay값 (안드레스 프로인트)
임시 테이블에서 해시 인덱스를 조작할 때 충돌 수정(Heikki Linnakangas)
다른 프로세스가 동시에 인덱스를 수정하는 경우 해시 인덱스 버킷 분할 중 발생할 수 있는 오류 수정(Tom Lane)
GIN 인덱스 진공에서 메모리 누수 수정(Heikki Linnakangas)
인덱스 표현식을 분석하는 동안 인터럽트 확인(Jeff Janes)
분석색인 표현식을 여러 번 실행합니다. 그러한 표현식에 느린 함수가 있는 경우, 취소할 수 있는 것이 바람직합니다.분석루프가 끝나기 전에.
보장테이블로이드외부 테이블의 경우 다음과 같은 경우 올바르게 보고됩니다.읽어 커밋됨행을 잠근 후 재검사 발생업데이트를 위해 선택, 업데이트또는삭제(후지타 에츠로)
외부 서버 사용자 매핑을 위한 개체 설명 문자열에 대상 서버의 이름 추가(Álvaro Herrera)
변환을 위한 객체 ID 문자열에 스키마 이름 포함(Álvaro Herrera)
권장설정include_realmKerberos/GSSAPI/SSPI 인증을 사용하는 경우 1로 설정(스티븐 프로스트)
이것이 없으면 다른 영역의 동일한 이름을 가진 사용자를 구별할 수 없습니다. 현재 이는 문서 변경일 뿐이지만 다음 버전에서는 기본 설정이 됩니다.PostgreSQL 9.5.
IPv4 일치 코드 제거pg_hba.confIPv4-in-IPv6 주소 항목(Tom Lane)
이 해킹은 당시 일부 Linux 커널이 IPv4 연결에 IPv4-in-IPv6 주소가 있다고 보고했다는 보고에 대한 응답으로 2003년에 추가되었습니다. 그러나 9.0에서는 논리가 실수로 깨졌습니다. 그 이후로 현장 불만이 없다는 것은 더 이상 필요하지 않다는 것을 보여줍니다. 이제 손상된 코드로 인해 일부 시스템에서 충돌이 발생한다는 보고가 있으므로 수정하기보다는 제거해 보겠습니다. (이 문제를 수정하기로 결정했다면 IPv4의 효과적인 의미에 미묘하고 잠재적으로 보안에 민감한 변화가 생길 것입니다.pg_hba.conf항목, 이는 부 스포츠 토토 베트맨에서는 좋은 일이 아닌 것 같습니다.)
실제로 시작되지 않은 종료된 백그라운드 작업자에 대한 상태 보고 수정(Robert Haas)
데이터베이스 충돌 후 표시된 백그라운드 작업자를 다시 시작하지 마십시오.BGW_NEVER_RESTART(아미트 칸데카르)
WAL 플러시 보고, 삽입 아님, 위치IDENTIFY_SYSTEM복제 명령(Heikki Linnakangas)
이것은 시작 실패 가능성을 방지합니다.pg_receivexlog.
Windows에서 서비스를 종료하는 동안 정기적으로 서비스 제어 관리자에 상태 업데이트를 보내 서비스가 너무 빨리 종료되는 것을 방지합니다. 그리고 그것을 보장하세요pg_ctl종료를 기다립니다(Krystian Bigaj)
사용 시 네트워크 교착 상태 위험 감소libpq의 비차단 모드(Heikki Linnakangas)
대량의 데이터를 전송할 때 서버가 출력을 차단할 만큼 충분한 응답 데이터를 전송한 경우 입력 버퍼를 자주 비우는 것이 중요합니다. (일반적인 시나리오는 서버가 동안 NOTICE 메시지 스트림을 보내는 것입니다.STDIN에서 복사.) 이는 일반 차단 모드에서는 제대로 작동했지만 비 차단 모드에서는 그다지 작동하지 않았습니다. 수정했습니다libpq가능한 경우 입력을 기회적으로 배출하지만 이 문제에 대한 완전한 방어를 위해서는 애플리케이션 협력이 필요합니다. 애플리케이션은 소켓 읽기 준비 및 쓰기 준비 조건을 감시하고 반드시 호출해야 합니다.PQconsumeInput()읽기 준비가 완료되면.
에libpq, URI 연결 문자열에서 빈 값의 잘못된 구문 분석 수정(Thomas Fanghaenel)
배열 처리 수정ecpg(마이클 메스케스)
수정psqlURI 및 conninfo 문자열을 첫 번째 매개변수로 올바르게 처리하기 위해\연결(데이비드 페터, 앤드루 던스탄, 알바로 헤레라)
이 구문은 오랫동안 허용되었지만 (문서화되지 않았습니다) 이전에는 일부 매개변수가 바람직하지 않다고 합의된 주어진 문자열 대신 이전 연결에서 가져올 수 있었습니다.
다음의 잘못된 불만사항을 억제psql일부 플랫폼스포츠 토토 베트맨는 작성에 실패했습니다.~/.psql_history출구에서(톰 레인)
이 잘못된 동작은 매우 오래된(2006년 이전) 버전의 버그에 대한 해결 방법으로 인해 발생했습니다.libedit. 우리는 해결 방법을 제거하여 문제를 해결했습니다. 이 경우 여전히 해당 버전을 사용하는 모든 사람에게 유사한 오류가 표시됩니다.libedit. 권장사항: 해당 라이브러리를 업그레이드하거나 사용하세요.libreadline.
수정pg_dump21133_21230
에pg_dump, 실패를 명예롭게 수정-Z압축 수준 옵션 함께-Fd(마이클 파퀴에)
만들다pg_dump덤프 순서를 선택하는 동안 확장 구성 테이블 간의 외래 키 관계를 고려하십시오(Gilles Darold, Michael Paquier, Stephen Frost)
이러한 감독으로 인해 외래 키 제약 조건이 일시적으로 위반되기 때문에 다시 로드하지 못하는 덤프가 생성될 수 있습니다.
피할 수 있음pg_dump동시 세션에서 임시 기능을 생성 및 삭제할 때 실패(Tom Lane)
단순한 뷰 덤핑 수정값(...)그러나 열 별칭이 있음(Tom Lane)
뷰의 복제 ID가 다음으로 올바르게 설정되었는지 확인하세요.아무것도덤프/복원 중(Marko Tiikkaja)
이전에는 뷰가 순환 종속성과 관련된 경우 잘못된 복제 ID 속성이 발생할 수 있었습니다.
에pg_upgrade, 새 클러스터스포츠 토토 베트맨 타임라인 1 강제 적용(Bruce Momjian)
이 변경은 WAL 기록 파일 누락에 대한 가짜 불만으로 인한 업그레이드 실패를 방지합니다.
에pg_upgrade, 진행하기 전에 부적절하게 연결할 수 없는 데이터베이스가 있는지 확인하세요(Bruce Momjian)
에pg_upgrade, 생성된 디렉터리 경로를 올바르게 인용하세요.delete_old_cluster스크립트 (브루스 몸지안)
에pg_upgrade, 데이터베이스 수준 동결 정보를 적절하게 보존합니다(Bruce Momjian)
이러한 감독으로 인해 테이블에 대한 방해물 파일 누락 오류가 발생할 수 있습니다.포스트그레스그리고템플릿1데이터베이스.
실행pg_upgrade그리고pg_resetxlogWindows에서 제한된 권한을 사용하므로 관리자(Muhammad Asif Naeem)가 실행할 때 실패하지 않습니다.
처리 개선readdir()디렉토리를 스캔할 때 실패initdb그리고pg_basebackup(마르코 넨시아리니)
느린 정렬 알고리즘 수정기여/intarray(톰 레인)
Sprc V8 시스템의 컴파일 실패 수정(Rob Rowan)
macOS스포츠 토토 베트맨 일부 빌드 경고 음소거(Tom Lane)
다음으로 시간대 데이터 파일 업데이트tzdata23974_24179