2016-04-05 1 views

Antwort

1

Postgresql verwaltet Statistiken für alle Tabellen. Sie werden über die Ansicht pg_stats sichtbar gemacht.

Es enthält zumindest ein Teil der Informationen, die Sie nach sind, wie zum Beispiel der Anteil der Nullwerte, sowie andere potenziell nützliche Informationen wie Histogramme der am häufigsten auftretenden Werte usw.

Diese Statistiken beibehalten werden durch die Datenbank selbst, um bei der Abfrageplanung zu helfen.

Verwendungsbeispiel: Erhalten Anteil von Nullen und Anzahl der unterschiedlichen Werte in der Tabelle ‚foo‘:

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) 
+0

eine Ahnung, warum eine bestimmte Tabelle/Regelung nicht unter pg_stats aufgeführt werden? versucht, zu suchen und konnte keine Markierung finden, um "einzuschalten", um sie zu aktivieren – oshi2016

+1

Vielleicht hatte das System die Tabelle noch nicht analysiert. Versuchen Sie, den Befehl "ANALYSE-Tabelle" zu geben, wobei Tabelle der Name der Tabelle ist. – harmic

+0

gearbeitet! Danke vielmals – oshi2016

Verwandte Themen