PostgreSQL 9: Birincil tablodaki vakumlama aynanın aynısını yapıyor mu?


18

Akış çoğaltmasıyla bir salt okunur ayna örneğini güncel tutan PostgreSQL 9.0.1 çalıştırılıyor. Oto-vakum, iş saati IO'sunu azaltmak için otomatik vakum arka plan programı tarafından vakumlanmayan birkaç tablo dışında birincil olarak açıktır. Bu tablolar "somutlaştırılmış görünümlerdir".

Geceyarısı her gece, otomatik vakum dışında bırakılan tabloları temizlemek için veritabanında bir boşluk çalıştırıyoruz. Bu sürecin aynanın karşısına geçip geçmediğini mi yoksa aynaya da vakum ayarlamam gerekip gerekmediğini merak ediyorum?


1
Mükemmel soru. Akış çoğaltması, İleri Yazma Günlüğünü kullanır, bu nedenle VACUUM'un yaptığı değişikliklerin günlüğe kaydedilip kaydedilmeyeceğine kadar kaybolur.
DerfK

1
İlginç bir şekilde, salt okunur aynada otomatik vakum AÇIK'ım var, ancak tablo istatistiklerine bakıldığında hiç çalışmamış; Tüm tablolar 0 canlı / ölü tuplleri listelediğinden ve vakumlardan veya analizlerden görünür hiçbir tarih yoktur.
Scott Herbert

developer.postgresql.org/pgdocs/postgres/hot-standby.html - 25.5.2. Sorgu çakışmalarını işleme - Anlık görüntüleri kaldırılacak satırlardan herhangi birini hala "görebilecek" bekleme işlemleriyle WAL'dan bir vakum temizleme kaydının uygulanması ............. Bu, VAKUM'un WAL günlüğe kaydedildi ve bu yüzden soruma "evet". Yine de bir PG gurusundan biraz daha bilgi almak isterdim!
Scott Herbert

Dinamik görünümlerden elde edilen verilerin bekleme modunda beklemede ile birincil arasında farklı olması beklenir. Bu görünümler veri toplamak için sistem işlevlerini kullanır ve bu işlevler verileri fiziksel bir tablodan ziyade bellek içi veri yapılarından okur. Örneğin, birincil olarak bir ANALYZE yapılması, bekleme sırasında da optimizasyon istatistiklerini (sorgu planlama için kullanılır) güncelleyecektir, ancak ANALYZE'nin tabloda gerçekleştirildiği süre, bu bilgiler işlemde bulunmadığından pg_stat_user_tables dosyasına yansıtılmayacaktır. kütükler.
Gurjeet Singh

Sonuç olarak, master üzerinde meydana gelen AUTOVACUUM'un slave üzerinde çalışan etkisi yoktur, değil mi? Durum böyle varsayarsak, HİÇBİR güncelleme / silme olmayan bir tablonuz varsa, sadece ekler, sadece yazdığımdan master'da otovakümü devre dışı bırakmak mümkün olur ve okumalar köle üzerinde olur.
Henley Chiu

Yanıtlar:


16

Vakum ve otovakum diğer yazma işlemleri gibi çoğalır. (Eh, içsel olarak belli ki özeldirler, ancak sorunuz söz konusu olduğunda, normal yazma işlemidir.) Köle üzerinde vakum veya otovakum çalıştırmak hiçbir şey yapmaz ve gerekli değildir.

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.