PostgreSQL Veritabanı Veri Dosyası Bütünlük Kontrolü


12

Bir PostgreSQL veritabanı sistemi çalıştırırken veritabanımın bir bütün olarak% 100 bütünlüğü olduğunu nasıl bilebilirim? Temel olarak veri dosyalarımın ve sayfalarımın bozulma olmadan% 100 iyi olup olmadığını nasıl anlarım?

Microsoft SQL Server dünyasında, sorun olup olmadığını söyleyecek DBCC CHECKDB'yi yürütebileceğiniz bir komut vardır. Komut hakkında daha fazla bilgi edinmeye ilgi duyduysanız bir bağlantı. DBCC CHECKDB (Transact-SQL)

Ben paranoyak bir veritabanı bütünlüğü fikirli kişi (hangi DBA türü rolünde veritabanı ile çalışan herkes olmalı) ve bu tür şeyler geceleri iyi uyku benim için zorlaştırır. Böyle bir yardımcı program şart! Google'da yapılan aramalar, böyle araçlarda birkaç deneme buldu ve bence PostgreSQL projesi tarafından resmi olarak kabul edilen bir araç olmadığı sürece bu önemli bir şey için güvenmeyeceğim.

İşte gerçek bir kesin cevap olarak düşünmediğim şeylerle benzer sorular soran bazı bağlantılar. Bence PostgreSQL'in Oracle ve Microsoft SQL Server'ın sahip olduğu bazı araçlara sahip olması gerektiğini gösteriyor.

İlk bağlantı bu konuda bulduğum en ilginç şey. Muhtemelen özetleyen makaleye bir yorum düşünüyorum: "Postgres veritabanı bozulmasını tanımlamak ve onarmak için oldukça topal. Bunu tespit etmenin tek yolu veritabanını damping veya seçmek * veritabanındaki her tablodan ."

PostgreSQL kısmi sayfa yazmalarına ve veri bozulmalarına karşı nasıl koruma sağlar

Verileri ve dizin dosyası bozulmasını kontrol etme - Dev Shed

Yardım: masam bozuk!

PostgreSQL: Bozuk birincil anahtar, tutarsız tablo

9.3'ün bazı yolsuzluk kontrol özelliklerine sahip olabileceğine inanıyorum. Biri seçtiyse sayfa dosyalarının kontrol edilmesini sağlama umudu olabilir. ZFS'yi ve / veya sayfa kontrolü toplamı ile Postgres'in gelecekteki bir sürümünü kullanmayı düşünüyorsanız, işler parlak görünüyor. https://commitfest.postgresql.org/action/patch_view?id=759

GÜNCELLEME: 14-JAN-2012 - ZFS tabanlı bir dosya sistemi kullanmak, her bir veri bloğunu toplayarak çek bozulmasını algılayabilir. Ben daha bu içine bakmak ve bu bir veritabanı veri sessizce bozuk değil bilmek gece iyi uyumak için bir çalışma olup olmadığını görmek zorunda kalacak.

GÜNCELLEME: 17-JAN-2012 - ZFS ile hangi dosyaların bozuk olduğunu bulma. http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz

GÜNCELLEME: 14-NİSAN 2014 9.3 veri kontrol toplamı aldı. https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3


2
Dürüstlükle, sayfa dosyalarının ve benzerlerinin bütünlüğünü kastediyorum. Normalde, normalde, bozulma olan bir sayfaya isabet eden bir sorgu yazarsanız gördüğünüz şeylerin türü. Örneğin bir disk sürücüsü arızalanmaya başladığında, tepside bulunan bazı veriler kötüleşmeye başlayabilir. Bunu nasıl tespit edersin?
Kuberchaun

Yanıtlar:


8

9.3'ten önceki PostgreSQL'de blok sağlama toplamı yoktu. Özellik 9.3 olarak eklendi (bu soru gönderildikten çok sonra).

İhtiyaçlarınıza cevap vermek için, veri sayfalarında değil, öznitelik değerleri üzerinde çalışarak muhtemelen kendi sağlama toplamımı (tetikleyiciler?) Geliştiririm.


4
Postgres
9.3'ten
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.