2016-01-18 10 views
5

Sono in esecuzione PostgreSQL 9.3 (in una configurazione hot standby) su Ubuntu 14.04 LTS.Ottenere tempo di inserimento di una tupla in una tabella esistente in PostgreSQL 9.3

Desidero visualizzare la crescita (ad esempio quantità di tuple) di un tavolo nel tempo. La tabella non contiene una colonna "timestamp" (o equivalente per motivi storici).

È il loro un modo in PostgreSQL 9.3 per richiedere informazioni sul tempo di inserimento di una tupla in una tabella?

+2

Purtroppo no, a meno che tu non dica di archiviare questo tipo di dati, non archivierà i dati. – Lucas

+0

Grazie per il commento. Ho pensato a "un po 'di magia" per quanto riguarda l'installazione hot standby, dal momento che le due istanze del server devono scambiarsi i dati in modo che siano possibilmente alcune informazioni su timestamp o crescita nel tempo ... – rzo

risposta

2

Fare una soluzione alternativa potrebbe fornire le statistiche sulla crescita di un tavolo nel tempo. In Postgres 9.3 c'è una funzionalità chiamata The statistics collector. Questo potrebbe fare il trucco:

  1. enable Run-Time Statistics
  2. creare la funzione di analisi desiderato utilizzando pg_stat_all_tables
    1. interrogazione quanti nuovi tuple sono state inserite con n_tup_ins (vedi Table 27-5 pg_stat_all_tables View)
    2. calcolare la differenza con un valore precedente per ottenere il numero effettivo di tuple inserite in un intervallo di tempo definito

Oppure si può dare un'occhiata al Zalando PGObserver.

Spero che questo aiuti.

Problemi correlati