Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 13/08/2012 10:02:04
- jonathan.durant
- Membre
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;
Julien.
https://rjuju.github.io/
Hors ligne
#3 13/08/2012 11:11:52
- jonathan.durant
- Membre
Re : Volume de stablespaces
Merci ^^
Hors ligne
#4 13/08/2012 11:15:50
- jonathan.durant
- Membre
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).
Julien.
https://rjuju.github.io/
Hors ligne
#7 13/08/2012 12:15:35
- jonathan.durant
- Membre
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.
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1