PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Trouver la taille de la base, la taille d'une table, le code SQL d'une création de table.

Technique - général | Trouver la taille de la base, la taille d'une table, le code SQL d'une création de table.

Par bisounux le 02/04/2006 - 16:58

Bonjour,
Je suis nouveau sur PostgreSQL. Je souhaite obtenir des informations sur la taille de ma base de données. J'aimerais savoir s'il existe une requête spécifique pour trouver cette informations. En effet, je souhaiterais retrouver cette informations dans le code de mon application. De plus, je souhaiterais savoir si on peut récupérer la taille de chaque table. Enfin, je souhaiterais savoir si on peut retrouver le code SQL de la création de la table, comme dans MySQL avec le "SHOW CREATE TABLE matable".
Merci d'avance pour vos réponses.
A bientĂ´t.
Bisounux

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour, depuis la version

Jean-Paul Argudo/ = 2 Avril, 2006 - 20:12

Bonjour, depuis la version 8.1 (novembre 2005), la contrib "dbsize" a été déplacée dans le backend de PostgreSQL. On le retrouve d'ailleurs en lisant le fichier HISTORY dans les sources de PostgreSQL:

* Move "/contrib/dbsize" into the backend, and rename some of the functions (Dave Page, Andreas Pflug)
+ pg_tablespace_size()
+ pg_database_size()
+ pg_relation_size()
+ pg_total_relation_size()
+ pg_size_pretty()

Ces nouvelles fonctions vous permettent donc respectivement de trouver la taille physique de divers objets. La fonction pg_size_pretty est lĂ  pour vous donner un affichage "humain" (comme dans ln -lh par exemple).

Quelques exemples:

pgfr=# select pg_database_size('pgfr');
pg_database_size
------------------
162497160
(1 ligne)

pgfr=# select pg_size_pretty(pg_database_size('pgfr'));
pg_size_pretty
----------------
155 MB
(1 ligne)

pgfr=# select pg_size_pretty(pg_relation_size('users'));
pg_size_pretty
----------------
512 kB
(1 ligne)

pgfr=# select pg_size_pretty(pg_total_relation_size('users'));
pg_size_pretty
----------------
704 kB
(1 ligne)

pgfr=# select pg_size_pretty(pg_relation_size('users_pkey'));
pg_size_pretty
----------------
48 kB
(1 ligne)

pgfr=# select pg_size_pretty(pg_tablespace_size('pg_global'));
pg_size_pretty
----------------
464 kB
(1 ligne)

Toutes ces fonctions sont explicitées dans la documentation, je vous laisse découvrir par vous-même le chapitre correspondant.

--
Jean-Paul ARGUDO
www.dalibo.com


Merci beaucoup, ces fonctions

bisounux/ = 2 Avril, 2006 - 20:32

Merci beaucoup, ces fonctions sont très puissantes et marchent à merveille.
Existe-t-il une fonction pour récupérer le code SQL de création des tables ?


© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.