Voglio riassumere più tabelle nel mio database ottenendo statistiche di ogni colonna (min, max, media, num di valori nulli, ecc.).
C'è un comando / strumento postgresql per farlo?
risposte:
1 per risposta № 1Postgresql mantiene le statistiche su tutte le tabelle. Sono resi visibili tramite il pg_stats vista.
Contiene almeno alcune delle informazioni che stai cercando, come la proporzione di valori nulli, così come altre informazioni potenzialmente utili come istogrammi dei valori più comuni, ecc.
Queste statistiche sono gestite dal database stesso, per aiutare nella pianificazione delle query.
Esempio di utilizzo: Ottieni frazione di null e numero di valori distinti nella tabella "pippo":
ispdb_t1=> select tablename || "." || attname as tablecolumn, null_frac, n_distinct from pg_stats where tablename="foo";
tablecolumn | null_frac | n_distinct
-------------------+-------------+------------
foo.name | 0 | -1
foo.a | 0.000785309 | 4
foo.b | 0.000241633 | 4
foo.id | 0 | -1
foo.d | 0 | 553
(6 rows)