| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 토토 결과 7.4.9 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 노트 | 부록 E. 토토 사이트 추천 참고 | PostgreSQL : 문서 : 9.3 : 토토 핫 7.4.7 | |
출시일: 2005-05-09
이 릴리스에는 다음을 포함하여 7.4.7의 다양한 수정 사항이 포함되어 있습니다. 여러 보안 관련 문제. 새로운 기능에 대한 정보 7.4 주요 릴리스에서는 다음을 참조하세요.PostgreSQL : 문서 : 9.3 : 릴메이저 토토 사이트 7.4.
7.4.X를 실행하는 경우 덤프/복원이 필요하지 않습니다. 그러나, 이는 두 가지 중요한 보안을 처리하는 한 가지 가능한 방법입니다. 7.4.X 초기 내용에서 발견된 문제점 시스템 카탈로그. 7.4.8의 initdb를 사용한 덤프/initdb/다시 로드 시퀀스 이러한 문제는 자동으로 해결됩니다.
더 큰 보안 문제는 내장된 문자 집합이 인코딩 변환 함수는 다음을 통해 SQL 명령에서 호출할 수 있습니다. 그러나 권한이 없는 사용자를 위해 기능이 설계되지 않았습니다. 사용하며 악의적인 인수 선택으로부터 안전하지 않습니다. 는 수정에는 다음의 선언된 매개변수 목록을 변경하는 것이 포함됩니다. 함수를 더 이상 SQL 명령에서 호출할 수 없도록 합니다. (이것은 인코딩 변환에 의한 정상적인 사용에 영향을 미치지 않습니다. 기계.)
더 적은 문제는기여/tsearch2모듈은 여러 기능을 생성합니다 반환하도록 잘못 선언된 것내부언제 그들은 받아들이지 않습니다내부인수. 이 다음을 사용하여 모든 기능에 대한 유형 안전성을 깨뜨립니다.내부인수.
모든 설치에서 이 문제를 복구하는 것이 좋습니다. initdb 또는 수동 복구에 의한 오류 아래에 주어진 절차. 오류는 최소한 권한 없는 사용자를 허용합니다. 데이터베이스 사용자는 서버 프로세스를 중단시키고 허용할 수 있습니다. 권한이 없는 사용자가 데이터베이스의 권한을 얻으려면 슈퍼유저.
initdb를 수행하지 않으려면 다음을 수행하십시오. 대신 절차를 따르세요. 데이터베이스 슈퍼유저로서 다음을 수행합니다.
시작;
업데이트 pg_proc SET proargtypes[3] = 'internal'::regtype
WHERE pronamespace = 11 AND pronargs = 5
AND proargtypes[2] = 'cstring'::regtype;
-- 명령은 90개 행을 업데이트했다고 보고해야 합니다.
-- 그렇지 않다면 커밋하는 대신 롤백하고 조사하세요!
커밋;
다음으로, 설치했다면기여/tsearch2, 다음을 수행하세요:
시작; 업데이트 pg_proc SET proargtypes[0] = 'internal'::regtype 어디에서 oid IN ( 'dex_init(text)'::regprocedure, 'snb_en_init(text)'::regprocedure, 'snb_ru_init(text)'::regprocedure, 'spell_init(text)'::regprocedure, 'syn_init(텍스트)'::regprocedure ); -- 명령은 5개 행을 업데이트했다고 보고해야 합니다. -- 그렇지 않다면 커밋하는 대신 롤백하고 조사하세요! 저지르다;
다음과 같은 메시지와 함께 이 명령이 실패하는 경우""dex_init(text)" 함수가 존재하지 않습니다"그러면 둘 중 하나tsearch2이 항목에는 설치되지 않았습니다 데이터베이스이거나 이미 업데이트를 완료했습니다.
위 절차는 다음에서 수행되어야 합니다.각설치 데이터베이스, 포함템플릿1, 이상적으로는 다음을 포함함템플릿0또한. 고치지 않으면 템플릿 데이터베이스 이후에 생성된 모든 데이터베이스는 동일한 오류가 포함되어 있습니다.템플릿1될 수 있습니다 다른 데이터베이스와 동일한 방식으로 수정되었지만 수정되었습니다.템플릿0추가 단계가 필요합니다. 첫째, 어느 곳에서나 데이터베이스 문제:
업데이트 pg_database SET datallowconn = true WHERE datname = 'template0';
다음 연결 대상템플릿0그리고 수행 위의 수리 절차. 마지막으로 다음을 수행하세요.
-- template0 다시 고정: 진공 동결; -- 향후 변경으로부터 보호합니다. 업데이트 pg_database SET datallowconn = false WHERE datname = 'template0';
오용 방지를 위해 인코딩 기능 서명 변경
변경기여/tsearch2피하다 안전하지 않은 사용내부함수 결과
트랜잭션을 가능하게 했던 고대 경쟁 조건을 복구하세요 일부 목적(예: SELECT FOR UPDATE)에 대해 커밋된 것으로 간주됨 다른 목적보다 빨리
이것은 명백한 문제로 이어질 수 있으므로 매우 심각한 버그입니다. 데이터 불일치가 애플리케이션에 잠시 표시됩니다.
관계 확장과 VACUUM 간의 경합 상태 복구
이것은 이론적으로 페이지의 가치가 손실되는 원인이 될 수 있습니다 새로 삽입된 데이터(시나리오가 매우 낮은 것으로 보임) 확률. 이상의 원인이 된 사례는 알려진 바가 없습니다. 어설션 실패.
비교 수정시간대 포함 시간값
다음의 경우 비교 코드가 잘못되었습니다.--활성화-정수-날짜 시간구성 스위치가 있음 사용되었습니다. 참고: a에 대한 색인이 있는 경우시간 시간대 포함열, 다음과 같아야 합니다REINDEX이 업데이트를 설치한 후 수정은 열 값의 정렬 순서를 수정합니다.
수정추출(EPOCH)for시간대 포함 시간값
음수 소수 초의 잘못된 표시 수정간격값
이 오류는 다음 경우에만 발생했습니다.--활성화-정수-날짜 시간구성 스위치가 있음 사용되었습니다.
백엔드 종료 중 수행된 작업이 다음으로 계산되는지 확인하세요. 통계 수집기
이것은 다음 보고서를 해결할 것으로 예상됩니다.pg_autovacuum시스템을 진공청소하지 않음 카탈로그를 충분히 자주 사용합니다. 카탈로그에 대해 언급되지 않았습니다. 백엔드 중 임시 테이블 제거로 인한 삭제 종료.
plpgsql의 추가 버퍼 오버런 검사(Neil)
다음을 포함하는 트리거 이름을 덤프하도록 pg_dump 수정%맞습니다 (닐)
수정contrib/pgcrypto최신 OpenSSL용 빌드(Marko Keen)
아직 더 많은 64비트 수정 사항기여/intagg
반환 함수의 잘못된 최적화 방지기록
방지to_char(간격)에서
월 관련 형식의 코어 덤핑
다음에서 충돌 방지합체(NULL,NULL)
수정array_mapPL 함수 호출
올바르게
권한 체크인 수정데이터베이스 변경 이름 바꾸기
수정언어 변경 이름 바꾸기
만들다RemoveFromWaitQueue정리하다
그 자체 이후
이것은 다음의 경우에만 표시되는 잠금 관리 오류를 수정합니다. 잠금을 기다리는 동안 트랜잭션이 중단되었습니다(일반적으로 쿼리 취소) 그런 다음 잠금 소유자가 일정 시간 내에 잠금을 해제했습니다. 매우 좁은 창.
유형이 지정되지 않은 매개변수가 나타나는 문제 수정삽입 ... 선택
수정클러스터다음 이후 실패OIDS 없이 테이블 설정 변경
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 릴리스 7.4.9 | PostgreSQL : 문서 : 9.3 : 메이저 토토 사이트 노트 | 릴리스 7.4.7 |