PHP PostgreSQL DB Vakum

4 Cevap php

PHP bir PostgreSQL veritabanı vakum istiyorum.

Ben denedim:

pg_query($conn,"vacuum analyse;");

Bu işe nasıl anlayabilirim?

4 Cevap

Öncesi ve vakum sorguyu çalıştırdıktan sonra bu sorguyu çalıştırın. 'Yaş' daha önce olduğundan daha vakum sonra daha az ise, o vakum başarıyla tükendi.

SELECT age(datfrozenxid) as age FROM pg_database where datname='your_db';

İlk soru: niye VACUUM'undan yaptın FULL? Bu mantıklı değil. Bu pratik olarak adlandırılan asla edilmelidir.

İkincisi: php (muhtemelen web sayfası) gelen vakum Koşu sorunlu olabilir. Vakum kolayca (Yanlış hatırlamıyorsam eğer) web istekleri için standart zaman aşımı olduğu, 3 dakika sürebilir.

En iyi çözüm Autovacuum kullanmaktır. Cron kullanarak program vacuumdb çağrılar - Autovacuum kullanamazsınız.

Lütfen vakum varsayarsak daha bir kaç saniye boyunca çalışır, şu anda sorguları çalışan bir listesini almak için bir postgres istemci "SELECT * FROM pg_stat_activity" çalıştırabilirsiniz. Sizin VAKUM sorgu orada göstermek gerekir.

Ben muhtemelen çalışıyor, bir hata döndürmez inanıyorum. İşte vakum üzerinde docs vardır.

http://www.postgresql.org/docs/current/interactive/sql-vacuum.html