Come faccio a sapere se autovacuum è in esecuzione su Windows Server 2003 per il mio database PGSQL?

StackOverflow https://stackoverflow.com/questions/2027046

  •  19-09-2019
  •  | 
  •  

Domanda

nei giorni pre-8.x Ho eseguito numerose banche dati PGSQL su Linux, e ha fatto il database passare l'aspirapolvere in modo esplicito tramite script di manutenzione.

Quando 8.x è arrivato non mi mossi per autovacuum su questi sistemi sulla base del fatto che stava lavorando bene quindi nessun bisogno di cambiare nulla. Quindi io non sono un esperto autovacuum.

Ora nell'era post-8.x mi ritrovo con alcuni database PGSQL in esecuzione su Windows Server 2003 o più recente.

Sembra che autovacuum dovrebbe essere in esecuzione perché abbiamo seguito le istruzioni e lasciato acceso nel file .conf.

Tuttavia collegare fino PgAdmin al database ci spinge che dovremmo correre a vuoto.

Come si può sapere se il demone autovacuum è in esecuzione e alla ricerca dopo il database (s), e li aspirapolvere correttamente?

È stato utile?

Soluzione

Ci sono colonne in pg_stat_user_tables che elencano quando l'ultimo autovacuum e autoanalyze stato eseguito su un tavolo - questo è un buon punto di partenza. E, naturalmente, il file di log conterrà informazioni su ciò che sta facendo autovacuum.

È possibile esaminare in modo specifico i processi postgres.exe con uno strumento come Process Explorer. Ci sarà un mutex denominato specificamente per emulare le informazioni ps di comando disponibili su Unix. Dovrebbe essere facile da trovare. E si può solo cercare "autovacuum" per assicurarsi che sia in esecuzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top