การตรวจสอบความสมบูรณ์ของไฟล์ฐานข้อมูล PostgreSQL


12

เมื่อใช้ระบบฐานข้อมูล PostgreSQL ฉันจะรู้ได้อย่างไรว่าฐานข้อมูลโดยรวมของฉันมีความสมบูรณ์ 100% โดยพื้นฐานแล้วฉันจะรู้ได้อย่างไรว่าไฟล์ข้อมูลและหน้าเว็บของฉันนั้นดี 100% โดยไม่มีความเสียหายหรือไม่

ในโลกของ Microsoft SQL Server มีคำสั่งให้คุณสามารถใช้งาน DBCC CHECKDB ที่จะบอกคุณว่ามีปัญหาหรือไม่ นี่คือลิงค์ถ้าคุณสนใจเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง DBCC CHECKDB (Transact-SQL)

ฉันเป็นคนซื่อสัตย์ฐานข้อมูลหวาดระแวงใจ (ซึ่งทุกคนที่ทำงานกับฐานข้อมูลในบทบาทประเภท DBA ควร) และสิ่งประเภทนี้ทำให้ฉันนอนหลับได้ยากในเวลากลางคืน อรรถประโยชน์เช่นนี้เป็นสิ่งที่ต้องมี! การค้นหาใน google พบว่ามีความพยายามในการใช้เครื่องมือเช่นนี้และในความคิดของฉันเว้นแต่ว่าเป็นเครื่องมือที่ได้รับการยอมรับอย่างเป็นทางการจากโครงการ PostgreSQL ฉันจะไม่ไว้ใจสิ่งที่สำคัญนี้

ต่อไปนี้เป็นลิงค์สำหรับคนที่ถามคำถามคล้าย ๆ กันกับสิ่งที่ฉันพิจารณาว่าไม่มีคำตอบที่ชัดเจน และในความคิดของฉันแสดงว่า PostgreSQL จำเป็นต้องมีเครื่องมือบางอย่างที่ Oracle และ Microsoft SQL Server ดูเหมือนจะมี

ลิงค์แรกเป็นสิ่งที่น่าสนใจที่สุดที่ฉันพบในหัวข้อนี้ ฉันคิดว่าความคิดเห็นเกี่ยวกับบทความที่อาจรวมถึงสถานะ: "Postgres ค่อนข้างง่อยเมื่อมันมาถึงการระบุความเสียหายของฐานข้อมูลและซ่อมมันวิธีเดียวที่จะตรวจสอบได้คือการทิ้งฐานข้อมูลหรือเลือก * จากทุกตารางในฐานข้อมูล ."

PostgreSQL ป้องกันการเขียนหน้าบางส่วนและความเสียหายของข้อมูลอย่างไร

การตรวจสอบข้อมูลและดัชนีไฟล์เสียหาย - Dev Shed

ช่วย: ตารางของฉันเสียหาย!

PostgreSQL: คีย์หลักที่เสียหาย, ตารางที่ไม่สอดคล้องกัน

ฉันเชื่อว่ามีโอกาส 9.3 ที่อาจมีคุณสมบัติการตรวจสอบความเสียหาย ดูเหมือนว่าอาจมีความหวังว่าจะมีการตรวจสอบไฟล์ในหน้ารวมหากเลือก ดังนั้นสิ่งที่ดูสดใสถ้าคุณพิจารณาใช้ ZFS และ / หรือ Postgres เวอร์ชันในอนาคตด้วยการรวมการตรวจสอบหน้า https://commitfest.postgresql.org/action/patch_view?id=759

ปรับปรุง: 14-JAN-2012 - ดูเหมือนว่าการใช้ระบบไฟล์ที่ใช้ ZFS สามารถตรวจจับความเสียหายโดยการตรวจสอบผลรวมของแต่ละบล็อกข้อมูล ฉันจะต้องตรวจสอบเรื่องนี้ต่อไปและดูว่านี่เป็นวิธีแก้ไขปัญหาเพื่อให้ผู้ใช้สามารถนอนหลับได้ดีในเวลากลางคืนโดยรู้ว่าข้อมูลฐานข้อมูลของพวกเขาจะไม่เสียหายอย่างเงียบ ๆ

อัปเดต: 17-JAN-2012 - วิธีค้นหาไฟล์ที่เสียหายด้วย ZFS http://docs.oracle.com/cd/E18752_01/html/819-5461/gbbwl.html#gbcuz

ปรับปรุง: 14-เมษายนเมษายน 2014 9.3 ได้รับการตรวจสอบข้อมูล https://wiki.postgresql.org/wiki/What's_new_in_PostgreSQL_9.3


2
โดยความซื่อสัตย์ฉันหมายถึงความสมบูรณ์ของไฟล์หน้าและอื่น ๆ ประเภทของสิ่งที่คุณเห็นตามปกติถ้าคุณเขียนแบบสอบถามที่เกิดขึ้นกับหน้าเว็บที่มีความเสียหาย ตัวอย่างเช่นเมื่อดิสก์ไดรฟ์เริ่มล้มเหลวข้อมูลบางส่วนในแผ่นเสียงอาจเริ่มแย่ คุณจะสังเกตเห็นสิ่งนี้ได้อย่างไร
Kuberchaun

คำตอบ:


8

PostgreSQL ก่อน 9.3 ไม่มีการตรวจสอบบล็อก สถานที่นี้ถูกเพิ่มเข้ามาใน 9.3 (ไม่นานหลังจากคำถามนี้ถูกโพสต์)

เพื่อตอบสนองความต้องการของคุณฉันอาจพัฒนาการตรวจสอบของฉันเอง (เรียกใช้หรือไม่) - ทำงานกับค่าคุณลักษณะไม่ใช่หน้าข้อมูล


4
อาจคุ้มค่าที่เพิ่มตั้งแต่ Postgres 9.3 คุณสามารถเลือกเปิดใช้งานchecksums ได้
a_horse_with_no_name
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.