Postgresql 9.4.26 문서화 | |||
---|---|---|---|
이전 | up | 부록 E. 롤 토토 노트 | 다음 |
출시 날짜 : 2016-08-11
이 롤 토토에는 9.4.8의 다양한 수정 사항이 포함되어 있습니다. 9.4 주요 롤 토토의 새로운 기능에 대한 자세한 내용은 참조섹션 E.27.
9.4.x.를 실행하는 사람들에게는 덤프/복원이 필요하지 않습니다.
그러나 9.4.6 이전 버전에서 업그레이드하는 경우 참조섹션 E.21.
중첩의 잘못된 평가 수정CASE-언제Expressions (Heikki Linnakangas, Michael Paquier, Tom Lane)
A CASE다른 사람의 테스트 값 하위 표현 내에 나타나는 표현CASE자체 테스트 값이 무효인지 아닌지에 대해 혼란스러워 질 수 있습니다. 또한 A에서 사용하는 평등 연산자를 구현하는 SQL 기능의 인라인.CASE표현식이 잘못된 테스트 값을 a 내에서 호출 한 함수로 전달할 수 있습니다.CASESQL 기능 본체의 표현. 테스트 값이 다른 롤 토토터 유형 인 경우 충돌이 발생할 수 있습니다.
롤 토토터베이스 및 역할 이름에서 특수 문자 처리 클라이언트 프로그램 수정 (Noah Misch, Nathan Bossart, Michael Paquier)
수많은 장소VACUUMDB및 기타 클라이언트 프로그램은 롤 토토터베이스 및 이중 인용문 또는 백 슬래시를 포함하는 역할 이름에 의해 혼란스러워 질 수 있습니다. 인용 규칙을 강화하여 안전하게 만들 수 있습니다.
쌍의 이중 따옴표의 처리 수정PSQL's\ connectand\ password문서와 일치하는 명령.
새로운 소개-리시스 예약옵션PSQL's\ connect이전 연결에서 연결 매개 변수를 재사용할지 여부를 명시 적으로 제어 할 수 있도록 명령. (이 없이는 선택은 데이터베이스 이름이 이전과 같이 Conninfo 문자열처럼 보이는지 여부를 기준으로합니다.)이를 통해 특수 문자가 포함 된 데이터베이스 이름을 보안 처리 할 수 있습니다.pg_dumpall스크립트.
pg_dumpall이제 캐리지 리턴 또는 신약을 포함하는 롤 토토터베이스 및 역할 이름을 다루기를 거부합니다. 앞으로 우리는 서버 측에서 그러한 이름을 거부 할 수 있지만 그 단계는 아직 취하지 않았습니다.
특수 문자를 포함하는 제작 된 객체 이름이 다음에 슈퍼업자가 실행할 때 슈퍼업자 권한으로 명령을 실행하는 데 사용될 수 있기 때문에 보안 수정으로 간주됩니다.pg_dumpall또는 기타 일상적인 유지 보수 작업. (CVE-2016-5424)
코너 케이스 오작동에 대한 수정is null/중첩 복합 값에 적용 (Andrew Gierth, Tom Lane)
SQL 표준은이를 지정합니다is null모든 null 값의 행에 대해 true를 반환해야합니다 (따라서행 (null, null)은 nulltrue를 생산합니다), 그러나 이것은 재귀 적으로 적용하기위한 것이 아닙니다 (따라서row (null, row (null, null))가 nullfalse를 생산합니다). 핵심 집행자는이를 제대로 얻었지만 특정 플래너 최적화는 테스트를 재귀로 취급했습니다 (따라서 두 경우 모두가 사실상).Contrib/Postgres_FDW비슷하게 잘못 행동 한 원격 쿼리를 생성 할 수 있습니다.
만들기inetandCIDR롤 토토터 유형이 너무 많은 결장 분리 된 필드 (Tom Lane)가있는 IPv6 주소를 올바르게 거부합니다
충돌 방지close_ps ()
(포인트 ## LSEG연산자) NAN 입력 좌표 (Tom Lane)
충돌하는 대신 널 리턴하게 만듭니다.
가능한 충돌 방지pg_get_expr ()
일관성없는 값이 전달 될 때 (Michael Paquier, Thomas Munro)
1 바이트 버퍼를 과도하게 읽습니다to_number ()
(Peter Eisentraut)
몇몇 경우to_number ()
함수는 입력 문자열보다 하나 이상의 문자를 읽습니다. 입력이 메모리 끝에 인접 해있는 경우 충돌 가능성이 적습니다.
포함 된 쿼리에서 플래너를 실행하지 마십시오구체화 된보기 만들기또는테이블 작성언제롤 토토터 없음지정되었습니다 (Michael Paquier, Tom Lane)
예를 들어, 구체화 된보기에 의해 안정적인 기능이 아직 존재하지 않는 테이블에 의존하는 경우와 같이 불필요한 실패 조건을 피합니다..
비싼 경로 중에 안전하지 않은 중간 상태를 피하십시오heap_update ()
(Masahiko Sawada, Andres Freund)
이전에, 이러한 경우는 대상 튜플을 잠그었지만 (Xmax를 설정함으로써) 그 작업을 수행하지 않았으므로 페이지가 디스크로 유출 된 경우 데이터 무결성 문제가 발생하지 않았고 튜플 업데이트가 완료되기 전에 데이터베이스 충돌이 발생했습니다..
Row Locking Operations의 WAL 재생 중 힌트 비트 업롤 토토트 수정 (Andres Freund)
이 문제의 유일한 알려진 결과는 준비된 행사에서 보유한 행 잠금 장치가 충돌 및 재시작 후에 트랜잭션이 시행되지 않을 수 있다는 것입니다..
불필요한 피하십시오"Access를 직렬화 할 수 없음"획득시 오류KEY SHARE직렬화 가능한 모드의 행 잠금 (Álvaro Herrera)
충돌을 피하십시오Postgres -c지정된 변수에 널 문자열 값이있는 경우 (Michael Paquier)
논리적 디코딩에서 큰 하위 트랜잭션의 손실 가능성 수정 (Petru-Florin Mihancea)
서브 트랜잭션에 실제 변경 사항이 포함되어있을 때 논리적 디코딩 실패 수정 (Marko Tiikkaja, Andrew Gierth)
백엔드 공유 카탈로그에 대한 최신 통계 (Tom Lane)
통계 수집기는 일반 백엔드의 요청 후 공유 카탈로그에 대한 통계 파일을 업롤 토토트하지 못했습니다. Autovacuum 런처가 정기적으로 그러한 업롤 토토트를 일으키는 요청을하기 때문에이 문제는 부분적으로 가려졌습니다.
다중 백엔드가 함께 업롤 토토트를 요청할 때 통계 파일의 중복 쓰기를 피하십시오 (Tom Lane, Tomas Vondra)
중 거래 ID 소비를 피하십시오진공(Alexander Korotkov)
일부 사례진공불필요하게 XID가 현재 트랜잭션에 할당되었습니다. 일반적으로 이것은 무시할 수 있지만, XID 랩 어라운드 한계에 대해 상승하면 raparound 진공 상태에서 더 많은 XID를 소비하는 것은 매우 나쁜 것입니다..
동안 핫 스탠드 쿼리를 취소하지 마십시오진공 동결(Simon Riggs, Álvaro Herrera)
진공 동결다른 일별 마스터 서버에서 대기 서버에서 쿼리가 불필요하게 취소 될 수 있습니다.
pre-9.3에서 PG_UPGRADET에있는 설치에서 다단계 ID를 청소할 때 가능한 실패 방지 (Andrew Gierth, Álvaro Herrera)
이 버그의 일반적인 증상은와 같은 오류입니다."multixactidNNN아직 생성되지 않았다 - 명백한 랩 어라운드 ".
할 때분석열 목록을 지정하고 테이블을 재설정하지 마십시오changes_since_analyze카운터 (Tom Lane)
일부 열만 분석하는 경우 다른 열에서 일상적인 자동 분석이 발생하는 것을 방지해서는 안됩니다.
수정분석의 과대 평가n_distinct많은 널 항목이있는 고유 또는 거의 유니 키 (Tom Lane)
널은 마치 자체적으로 뚜렷한 값인 것처럼 계산 될 수있어 일부 유형의 쿼리에서 심각한 플래너의 오해가 발생합니다..
Autovacuum이 동일한 공유 카탈로그 (Álvaro Herrera)를 위해 여러 작업자를 시작하는 것을 방지합니다.
일반적으로 진공이 오래 걸리지 않기 때문에 이것은 큰 문제가 아닙니다. 그러나 심하게 부풀어 오른 카탈로그의 경우 다른 테이블에서 유용한 작업을 수행하는 대신 한 명의 근로자를 제외한 모든 직원을 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업자를 제외한 모든 작업을 수행 할 수 있습니다..
B- 트리 색인 페이지 삭제 시도 (Tom Lane)를 포기할 때 중복 버퍼 잠금 해제 방지
이 실수를 막았습니다진공부패한 B- 트리 지수와 관련된 경우에도 완료되지 않은 경우.
NAN 구성 요소 값 (Tom Lane)을 포함하는 기하학적 열에 대한 GIST 인덱스 빌드의 무한 루프 방지
수정contrib/btree_gin가능한 가장 작은 것을 처리하려면bigint가치가 올바르게 (Peter Eisentraut)
LIBPQ를 향후 서버 (Peter Eisentraut)에서 서버 버전을 올바르게 디코딩하도록 가르치
9.6 이후 롤 토토의 3 부 서버 버전 번호 대신 2 부로 전환 할 계획입니다. 확인하십시오pqserverversion ()
그러한 경우에 대한 올바른 값을 반환합니다.
수정ECPG의 코드서명되지 않은 장거리배열 요소 (Michael Meskes)
inpg_dump두 가지-cand-c옵션, 원치 않는 방출을 피하십시오스키마 공개 만들기명령 (David Johnston, Tom Lane)
취급 개선sigterm/Control-C 병렬pg_dumpandPG_RESTORE(Tom Lane)
작업자 프로세스가 신속하게 종료 될 수 있는지 확인하고 또한 A와 같은 장기 실행을 수행하는 경우 쿼리 캔셀 요청을 연결된 백엔드로 보내도록 준비하십시오.색인 생성.
병렬로 오류보고 수정pg_dumpandPG_RESTORE(Tom Lane)
이전에, 오류 가보고 된 오류pg_dump또는PG_RESTOREWorker 프로세스는 메시지가 마스터 프로세스를 통과했으며 마스터 프로세스가 메시지를 전달하지 못하게하는 다양한 교착 시나리오가 있었기 때문에 사용자의 콘솔에 절대로 사용하지 않을 수 있습니다. 대신, 모든 것을 인쇄하기 만하면Stderr. 경우에 따라 이로 인해 중복 메시지가 발생하지만 (예 : 모든 작업자가 서버 종료를보고하는 경우) 메시지가없는 것보다 낫습니다.
병렬 확인pg_dump또는PG_RESTORE오류가 발생한 후 (Kyotaro Horiguchi) Windows의 Windows가 제대로 종료됩니다.
이전에 오류를보고했지만 사용자가 수동으로 멈출 때까지 앉아 있습니다.
makepg_dumpZlib 지원없이 구축 될 때 더 잘 행동합니다 (Kyotaro Horiguchi)
병렬 덤프에 적합하지 않았으며 다른 경우에는 다소 무의미한 경고를 방출했습니다.
makePG_BASEBACKUP수락-z 0압축을 지정하여 (Fujii Masao)
AIX 공유 라이브러리를 구축하기위한 Makefiles의 규칙 수정 (Noah Misch)
Directory의 경로 이름을 빌드 할 때 작업 할 테스트 및 MSVC 스크립트 수정 수정 (Michael Paquier, Kyotaro Horiguchi)
보고에 대해 더 예측할 수있어"명세서 타임 아웃"versus"잠금 시간 초과"(Tom Lane)
로드 된 기계에서는보고로 인해 회귀 테스트가 때때로 실패했습니다"잠금 시간 초과"명령문 시간 초과가 먼저 발생했지만
덴마크와 웨일스 어 지역 (Jeff Janes, Tom Lane)에게 안전한 회귀 테스트를 안전하게 만듭니다
이 지역의 비정상적인 정렬 규칙을 유발 한 일부 테스트 롤 토토터 변경.
Iana와 일치하도록 시간대 코드 사본을 업롤 토토트하십시오tzcode릴리스 2016C (Tom Lane)
이것은 시간대 데이터 파일의 예상되는 향후 변경에 대처해야합니다. 또한 비정상적인 시간대에 대처할 때 코너 케이스 버그를 수정합니다.
시간대 롤 토토터 파일 업롤 토토트tzdataKemerovo와 Novosibirsk의 DST 법률 변경에 대한 2016F 릴리스, 아제르바이잔, 벨로루시 및 모로코의 역사적 수정.