PostgreSQL 데이터베이스 데이터 파일 무결성 검사


12

PostgreSQL 데이터베이스 시스템을 실행할 때 데이터베이스 전체의 무결성이 100 %임을 어떻게 알 수 있습니까? 기본적으로 내 데이터 파일과 페이지가 모두 손상없이 100 % 양호한 지 어떻게 알 수 있습니까?

Microsoft SQL Server 세계에는 DBCC CHECKDB를 실행하여 문제가 있는지 알려주는 명령이 있습니다. 명령에 대해 더 많이 배우려는 경우 링크가 있습니다. DBCC CHECKDB (Transact-SQL)

나는 편집증 데이터베이스 무결성을 염두에 둔 사람 (DBA 유형 역할의 데이터베이스를 사용하는 사람은 누구나 있어야 함)이며 이런 유형의 물건은 밤에 잘 자기가 어렵습니다. 이와 같은 유틸리티는 필수입니다! Google에서 검색 한 결과 PostgreSQL 프로젝트에서 공식적으로 허용되는 도구가 아니라면 이와 같은 도구와 몇 가지 시도가 발견되었습니다.이 중요한 것에 대해서는 신뢰할 수 없습니다.

여기에 실제 결정적인 대답이 아닌 것으로 비슷한 질문을하는 사람들과의 링크가 있습니다. 그리고 내 의견으로는 PostgreSQL에는 Oracle과 Microsoft SQL Server가 가지고있는 것으로 보이는 도구가 필요하다는 것을 알 수 있습니다.

첫 번째 링크는이 주제에서 찾은 가장 흥미로운 것입니다. "포스트그레스는 데이터베이스 손상을 식별하고 복구 할 때 상당히 불충분합니다.이를 감지하는 유일한 방법은 데이터베이스를 덤프하거나 데이터베이스의 모든 테이블에서 *를 선택하는 것입니다. "

PostgreSQL이 부분 페이지 쓰기 및 데이터 손상을 방지하는 방법

데이터 및 색인 파일 손상 확인-Dev Shed

도움말 : 내 테이블이 손상되었습니다!

PostgreSQL : 손상된 기본 키, 일관성이없는 테이블

9.3에 손상 검사 기능이있을 가능성이 있다고 생각합니다. 선택하면 페이지 파일 검사를 요약하는 것이 좋을 것 같습니다. 따라서 ZFS 및 / 또는 이후 버전의 Postgres를 페이지 확인 합계와 함께 사용하면 상황이 밝아 보입니다. https://commitfest.postgresql.org/action/patch_view?id=759

업데이트 : 2012 년 1 월 14 일-ZFS 기반 파일 시스템을 사용하는 것이 각 데이터 블록을 합산하여 손상을 감지 할 수있는 것처럼 보입니다. 더 자세히 살펴보고 데이터베이스 데이터가 자동으로 손상되지 않는다는 것을 알고 밤에 잘 수있는 해결 방법인지 확인해야합니다.

업데이트 : 2012 년 1 월 17 일-ZFS로 손상된 파일을 찾는 방법 http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz

업데이트 : 14-APR-2014 9.3은 데이터 체크섬을 얻었습니다. https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3


2
무결성으로 나는 페이지 파일 등의 무결성을 의미했습니다. 손상된 페이지에 부딪히는 쿼리를 작성하는 경우에만 일반적으로 표시되는 항목 유형입니다. 예를 들어 디스크 드라이브가 고장 나기 시작하면 플래터의 일부 데이터가 제대로 작동하지 않을 수 있습니다. 이것을 어떻게 알 수 있습니까?
Kuberchaun

답변:


8

9.3 이전의 PostgreSQL에는 블록 체크섬이 없었습니다. 이 질문은 9.3에 추가되었습니다 (이 질문이 게시 된 후).

귀하의 요구에 부응하기 위해 데이터 페이지가 아닌 속성 값으로 작업하는 자체 체크섬 (트리거?)을 개발할 것입니다.


4
가치 포스트 그레스 9.3 이후는 선택적으로 활성화 할 수있는 추가 될 수 체크섬을
a_horse_with_no_name
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.