PostgreSQL La base de donnees la plus sophistiquee au monde.

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
cookbook:trouver_taille_table_index_tuples [2008/10/14 17:43] – créée ioguixcookbook:trouver_taille_table_index_tuples [2008/10/15 16:54] (Version actuelle) – effacée ioguix
Ligne 1: Ligne 1:
-====== Trouver facilement la taille d'une table, de ses index et son nombre de tuples ====== 
  
-On a besoin parfois d'avoir rapidement la taille sur disque d'une table et le nombre d'enregistrements qu'elle contient. Pour cela, on peut utiliser la fonction ''pg_total_relation_size('nom de table')'' qui permet de rapatrier la taille **totale** de la table sur disque, index inclus. Si on ne veut pas connaître la taille prise par les index, il suffit d'utiliser la fonction ''pg_relation_size('nom de table')''. La soustraction des deux permet de connaître la taille des index! 
- 
-Tout cela nous permet de réaliser une vue fort sympathique pour l'administrateur de base de données. Attention à **lancer un ANALYZE avant tout requêtage de cette vue** : 
- 
-''drop view vue_stats;\\ 
-\\ 
-create view vue_stats as\\ 
-SELECT\\ 
-c.relname as nom,\\ 
-c.reltuples::bigint as tuples,\\ 
-pg_total_relation_size(c.relname) as volume_total,\\ 
-pg_relation_size(c.relname) as volume_donnees,\\ 
-pg_total_relation_size(c.relname)-pg_relation_size(c.relname) as volume_index\\ 
-FROM pg_catalog.pg_class c\\ 
-JOIN pg_catalog.pg_roles r ON r.oid = c.relowner\\ 
-LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\\ 
-WHERE c.relkind = 'r'\\ 
-AND n.nspname NOT IN ('pg_catalog', 'pg_toast')\\ 
-AND pg_catalog.pg_table_is_visible(c.oid)\\ 
-ORDER BY 1,2;'' 
- 
-Merci à klando (Cédric) pour cet ajout, fort sympathique: il permet d'avoir les tailles des objets lisibles sous la forme //humaine// : 
- 
-''drop view vue_stats_pretty ;\\ 
- 
-create view vue_stats_pretty as\\ 
-SELECT\\ 
-nom,\\ 
-tuples,\\ 
-pg_size_pretty(volume_total) as volume_total,\\ 
-pg_size_pretty(volume_donnees) as volume_donnees,\\ 
-pg_size_pretty(volume_index) as volume_index\\ 
-FROM vue_stats;'' 
- 
-Enjoy! 
- 
--- \\ 
-Jean-Paul ARGUDO\\ 
-http://dalibo.com | http://dalibo.org  
 
cookbook/trouver_taille_table_index_tuples.1223999020.txt.gz · Dernière modification : 2008/10/14 17:43 de ioguix