PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 13/08/2012 10:02:04

Volume de stablespaces

Bonjour, je ne connais pas encore très bien Postgres et j'ai un besoin particulier : je cherche à remonter à travers une requête ou vue la liste des tablespaces d'une instance avec leur taille.
J'ai trouvé la fonction "pg_tablespace_size" pour avoir la taille d'un tablespace en particulier, mais y-a-t'il un moyen de remonter tous les tablespaces en une seule requête ?

Dernière modification par jonathan.durant (13/08/2012 10:04:52)

Hors ligne

#2 13/08/2012 11:10:42

rjuju
Administrateur

Re : Volume de stablespaces

Bonjour,


oui, il suffit de faire comme cela :

select spcname,pg_size_pretty(pg_tablespace_size(oid)) from pg_tablespace;

En ligne

#3 13/08/2012 11:11:52

Re : Volume de stablespaces

Merci ^^

Hors ligne

#4 13/08/2012 11:15:50

Re : Volume de stablespaces

Est-il également possible de récupérer le nom de l'instance courante ? Je viens de faire une installation et à aucun moment je n'ai choisi de nom pour l'instance, comment puis-je le choisir ?

Hors ligne

#5 13/08/2012 11:38:43

kenrio
Membre

Re : Volume de stablespaces

pg_default ? mais je sais pas si c'est ce que vous cherchez

Hors ligne

#6 13/08/2012 11:46:58

rjuju
Administrateur

Re : Volume de stablespaces

Les instances n'ont pas de nom. Sur une même machine,elles sont identifiées par leur port (5432 par défaut). Si vous voulez le changer, c'est paramétrable dans le fichier postgresql.conf (nécessite de redémarrer pour le prendre en compte).

En ligne

#7 13/08/2012 12:15:35

Re : Volume de stablespaces

Ok, merci pour les infos.

Maintenant j'essaye de donner les droits à un user pour exécuter le select sur pg_tablespace.

J'ai créé l'user avec un mot de passe, activé l'authentification md5.
Mon user a bien le connect.
J'ai fait :

grant select on pg_tablespace to mon_user;

J'obient l'erreur : "Permission denied for tablespace pg_global", et la commande :

grant select on pg_global to mon_user;

me retourne : "ERROR:  relation "pg_global" does not exist"

Savez vous comment faire ?

Hors ligne

#8 13/08/2012 13:31:20

rjuju
Administrateur

Re : Volume de stablespaces

Il faut que l'utilisateur lançant la requête GRANT ait les droits pour le faire. Essayez en tant qu'utilisateur postgres.

En ligne

Pied de page des forums