PostgreSQL 데이터베이스 시스템을 실행할 때 데이터베이스 전체의 무결성이 100 %임을 어떻게 알 수 있습니까? 기본적으로 내 데이터 파일과 페이지가 모두 손상없이 100 % 양호한 지 어떻게 알 수 있습니까?
Microsoft SQL Server 세계에는 DBCC CHECKDB를 실행하여 문제가 있는지 알려주는 명령이 있습니다. 명령에 대해 더 많이 배우려는 경우 링크가 있습니다. DBCC CHECKDB (Transact-SQL)
나는 편집증 데이터베이스 무결성을 염두에 둔 사람 (DBA 유형 역할의 데이터베이스를 사용하는 사람은 누구나 있어야 함)이며 이런 유형의 물건은 밤에 잘 자기가 어렵습니다. 이와 같은 유틸리티는 필수입니다! Google에서 검색 한 결과 PostgreSQL 프로젝트에서 공식적으로 허용되는 도구가 아니라면 이와 같은 도구와 몇 가지 시도가 발견되었습니다.이 중요한 것에 대해서는 신뢰할 수 없습니다.
여기에 실제 결정적인 대답이 아닌 것으로 비슷한 질문을하는 사람들과의 링크가 있습니다. 그리고 내 의견으로는 PostgreSQL에는 Oracle과 Microsoft SQL Server가 가지고있는 것으로 보이는 도구가 필요하다는 것을 알 수 있습니다.
첫 번째 링크는이 주제에서 찾은 가장 흥미로운 것입니다. "포스트그레스는 데이터베이스 손상을 식별하고 복구 할 때 상당히 불충분합니다.이를 감지하는 유일한 방법은 데이터베이스를 덤프하거나 데이터베이스의 모든 테이블에서 *를 선택하는 것입니다. "
PostgreSQL이 부분 페이지 쓰기 및 데이터 손상을 방지하는 방법
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