À l'aide de psql, comment répertorier les extensions installées dans une base de données?


Réponses:


363

En psql, ce serait

\dx

Voir le manuel pour plus de détails: http://www.postgresql.org/docs/current/static/app-psql.html

Le faire en SQL simple serait un choix sur pg_extension:

SELECT * 
FROM pg_extension

http://www.postgresql.org/docs/current/static/catalog-pg-extension.html


@SoichiHayashi: alors vous utilisez probablement une ancienne version de Postgres
a_horse_with_no_name

J'utilise le serveur PostgreSQL 9.3.5, mais j'utilise le client psql 8.4.20 fourni avec CentOS 6.5. Peut-être que je dois installer la dernière version de psql?
Soichi Hayashi

@SoichiHayashi \dx est une commande psql qui a été introduite avec 9.0 lorsque la create extensionfonctionnalité a été publiée. Alors oui, vous devez également mettre à niveau votre psql(vous devez toujours utiliser la psqlversion qui correspond à votre version de base de données)
a_horse_with_no_name

1
Quelle ironie. stackoverflow.com/questions/9463318/… L'un des commentaires était que de telles questions (et l'incapacité générale à faire des choses vraiment difficiles comme \?) ennuieraient a_horse_with_no_name: D. Pour être juste, cette réponse contient d'autres informations utiles.
John Powell

11
vous pourriez peut-être mentionner la requête SQL complète pour la liste:select * from pg_extension
icl7126

82

De plus, si vous souhaitez savoir quelles extensions sont disponibles sur votre serveur: SELECT * FROM pg_available_extensions


5

Cette requête SQL donne une sortie similaire à \dx:

SELECT e.extname AS "Name", e.extversion AS "Version", n.nspname AS "Schema", c.description AS "Description" 
FROM pg_catalog.pg_extension e 
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace 
LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass 
ORDER BY 1;

Merci à https://blog.dbi-services.com/listing-the-extensions-available-in-postgresql/

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.