/ / Existe-t-il un équivalent de DataFrames 'decrire' à une table postgresql? - postgresql

Existe-t-il un équivalent de DataFrames 'decrire' à une table postgresql? - postgresql

Je souhaite résumer plusieurs tables de ma base de données en obtenant des statistiques sur chaque colonne (min, max, moyen, nombre de valeurs nulles, etc.)

Existe-t-il une commande / outil postgresql pour le faire?

Réponses:

1 pour la réponse № 1

Postgresql maintient des statistiques sur toutes les tables. Ils sont rendus visibles via le pg_stats vue.

Il contient au moins certaines des informations que vous recherchez, telles que la proportion de valeurs NULL, ainsi que d'autres informations potentiellement utiles, telles que des histogrammes des valeurs les plus courantes, etc.

Ces statistiques sont gérées par la base de données elle-même, ce qui facilite la planification des requêtes.

Exemple d'utilisation: Obtenir une fraction de valeurs NULL et le nombre de valeurs distinctes dans la table "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)