J'ai une base de données "test" dans PostgreSql. Je veux écrire un sql pour obtenir le propriétaire de ma base de données.
Réponses
Trop de publicités?Si vous utilisez le psql en ligne de commande, vous pouvez simplement utiliser \l
Cela fonctionne avec une base de données appartenant à un rôle de groupe :
SELECT
U.rolname
,D.datname
FROM
pg_roles AS U JOIN pg_database AS D ON (D.datdba = U.oid)
WHERE
D.datname = current_database();
Utilisation de pg_authid
(comme je l'ai fait dans ma version précédente) au lieu de pg_roles
est limité à SuperUser car il détient le mot de passe (voir documentation ) :
Comme ce catalogue contient des mots de passe, il ne doit pas être accessible au public. publique.
pg_roles
est une vue lisible par le public surpg_authid
que efface le champ du mot de passe.
- Réponses précédentes
- Plus de réponses