Ketika menjalankan sistem database PostgreSQL, bagaimana saya tahu database saya secara keseluruhan memiliki integritas 100%? Pada dasarnya bagaimana saya tahu jika file data dan halaman saya 100% bagus tanpa korupsi?
Di dunia Microsoft SQL Server ada perintah yang bisa Anda jalankan DBCC CHECKDB yang akan memberi tahu Anda jika ada masalah. Berikut tautan jika Anda tertarik mempelajari lebih lanjut tentang perintah. DBCC CHECKDB (Transact-SQL)
Saya orang yang berpikiran integritas database paranoid (yang harusnya dilakukan oleh siapa pun yang bekerja dengan database dalam peran tipe DBA) dan hal-hal semacam ini membuat saya sulit tidur nyenyak di malam hari. Utilitas seperti ini adalah suatu keharusan! Pencarian di google telah menemukan beberapa upaya pada alat-alat seperti ini dan menurut saya kecuali itu alat yang diterima secara resmi oleh proyek PostgreSQL, saya tidak akan mempercayainya untuk sesuatu yang sepenting ini.
Berikut adalah beberapa tautan ke orang yang mengajukan pertanyaan serupa dengan apa yang saya anggap tidak ada jawaban pasti yang nyata. Dan menurut pendapat saya menunjukkan bahwa PostgreSQL perlu memiliki beberapa alat di tempat yang tampaknya dimiliki Oracle dan Microsoft SQL Server.
Tautan pertama adalah yang paling menarik yang saya temukan pada subjek ini. Saya pikir komentar pada artikel yang mungkin meringkas menyatakan: "Postgres cukup timpang ketika mengidentifikasi korupsi database dan memperbaikinya. Satu-satunya cara untuk mendeteksinya adalah dengan membuang database atau pilih * dari setiap tabel dalam database . "
Bagaimana PostgreSQL melindungi terhadap penulisan sebagian halaman dan kerusakan data
Memeriksa data dan indeks file korupsi - Dev Shed
PostgreSQL: Kunci primer rusak, tabel tidak konsisten
Saya percaya ada kemungkinan 9.3 mungkin memiliki beberapa fitur pemeriksaan korupsi. Tampaknya mungkin ada harapan untuk memeriksa file halaman dijumlahkan jika ada yang memilih. Jadi semuanya tampak cerah jika Anda mempertimbangkan untuk menggunakan ZFS dan / atau versi Postgres masa depan dengan penjumlahan periksa halaman. https://commitfest.postgresql.org/action/patch_view?id=759
UPDATE: 14-JAN-2012 - Sepertinya menggunakan sistem file berbasis ZFS dapat mendeteksi korupsi dengan memeriksa jumlah setiap blok data. Saya harus melihat lebih jauh dan melihat apakah ini adalah pekerjaan di sekitar untuk memungkinkan seseorang untuk tidur nyenyak di malam hari mengetahui data database mereka tidak secara diam-diam menjadi korup.
UPDATE: 17-JAN-2012 - Cara menemukan file apa yang rusak dengan ZFS. http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz
UPDATE: 14-APR-2014 9.3 tidak menerima checksum data. https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3