PostgreSQL 9: การดูดตารางบนการจำลองแบบหลักบนมิเรอร์หรือไม่


18

เรียกใช้ PostgreSQL 9.0.1 พร้อมการจำลองแบบการสตรีมที่ทำให้อินสแตนซ์มิเรอร์อ่านอย่างเดียวหนึ่งตัวเป็นปัจจุบัน การฉีดวัคซีนอัตโนมัติเปิดอยู่บนอุปกรณ์หลักยกเว้นบางตารางที่ไม่ได้ถูกดูดโดย daemon สูญญากาศอัตโนมัติเพื่อพยายามลด IO ชั่วโมงธุรกิจ ตารางเหล่านี้คือ "มุมมองที่ปรากฏขึ้น"

ทุกคืนเวลาเที่ยงคืนเราเรียกใช้สุญญากาศทั่วฐานข้อมูลเพื่อล้างตารางเหล่านั้นที่ไม่รวมอยู่ในการปรับระดับอัตโนมัติ ฉันสงสัยว่ากระบวนการนั้นทำซ้ำไปที่กระจกหรือไม่หรือถ้าฉันต้องติดตั้งเครื่องดูดฝุ่นบนกระจกด้วย?


1
คำถามที่ยอดเยี่ยม การจำลองแบบการสตรีมใช้บันทึกการเขียนล่วงหน้าดังนั้นจึงควรพิจารณาว่าการเปลี่ยนแปลงที่ VACUUM ทำนั้นถูกบันทึกไว้หรือไม่
DerfK

1
น่าสนใจฉันเปิดเครื่องดูดฝุ่นอัตโนมัติบนกระจกแบบอ่านอย่างเดียว แต่ดูในตารางสถิติที่ไม่ปรากฏว่าเคยทำงานมาก่อน เนื่องจากทุกตารางแสดงรายการ 0 tuples สด / ตายและไม่มีประวัติที่สามารถมองเห็นของเครื่องดูดฝุ่นหรือการวิเคราะห์
Scott Herbert

developer.postgresql.org/pgdocs/postgres/hot-standby.html - 25.5.2 การจัดการข้อขัดแย้งของแบบสอบถาม - "แอปพลิเคชันของบันทึกการล้างข้อมูลสูญญากาศจากความขัดแย้ง WAL กับธุรกรรมสแตนด์บายซึ่งสแน็ปช็อตยังคง" เห็น "แถวใด ๆ ที่จะลบ ............. นี่ดูเหมือนว่าจะแนะนำ VACUUM ถูกบันทึกไว้ใน WAL และดังนั้นจึงเป็น "ใช่" สำหรับคำถามของฉันชอบที่จะได้รับข้อมูลเพิ่มเติมจาก PG guru แม้ว่า!
Scott Herbert

ข้อมูลจากมุมมองแบบไดนามิกคาดว่าจะแตกต่างกันในหลักและสแตนด์บาย มุมมองเหล่านี้ใช้ฟังก์ชั่นระบบเพื่อรวบรวมข้อมูลและฟังก์ชั่นเหล่านั้นอ่านข้อมูลจากโครงสร้างข้อมูลในหน่วยความจำมากกว่าจากตารางฟิสิคัล ตัวอย่างเช่นการดำเนินการ ANALYZE บนหลักจะอัปเดตสถิติของเครื่องมือเพิ่มประสิทธิภาพ (ใช้สำหรับการวางแผนการสืบค้น) ในโหมดสแตนด์บายด้วยเช่นกัน แต่เวลาที่ดำเนินการ ANALYZE บนตารางจะไม่แสดงใน pg_stat_user_tables เนื่องจากข้อมูลนั้นไม่ได้ถูกบันทึกไว้ในธุรกรรม บันทึก
Gurjeet Singh

ดังนั้นข้อสรุปก็คือ AUTOVACUUM ที่เกิดขึ้นกับเจ้านายนั้นไม่มีผลกับมันในการทำงานกับทาสใช่ไหม? สมมติว่าเป็นกรณีนี้ถ้าฉันมีตารางที่ไม่มีการปรับปรุง / ลบเพียงแค่แทรกมันจะเป็นไปได้หรือไม่ที่จะปิดการใช้งาน autovacuum ในต้นแบบเนื่องจากฉันเพิ่งเขียนถึงมันและการอ่านเกิดขึ้นบนทาส
Henley Chiu

คำตอบ:


16

สูญญากาศและ autovacuum ทำซ้ำเหมือนการดำเนินการเขียนอื่น ๆ (เห็นได้ชัดว่าพวกเขาค่อนข้างพิเศษภายใน แต่เท่าที่คำถามของคุณเกี่ยวข้องพวกเขาเป็นการดำเนินการเขียนปกติ) การใช้สุญญากาศหรือ autovacuum บนทาสไม่ได้ทำอะไรและไม่จำเป็น

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