Usando psql come posso elencare le estensioni installate in un database?


Risposte:


363

In psql sarebbe

\dx

Vedere il manuale per i dettagli: http://www.postgresql.org/docs/current/static/app-psql.html

Farlo in un semplice SQL sarebbe una selezione su pg_extension:

SELECT * 
FROM pg_extension

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


@SoichiHayashi: allora probabilmente stai usando una vecchia versione di Postgres
a_horse_with_no_name

Sto eseguendo il server PostgreSQL 9.3.5, ma sto usando il client psql 8.4.20 fornito con CentOS 6.5. Forse devo installare l'ultima versione di psql?
Soichi Hayashi,

@SoichiHayashi \dx è un comando psql che è stato introdotto con 9.0 al create extensionrilascio della funzione. Quindi sì, devi aggiornare anche il tuo psql(dovresti sempre usare la psqlversione corrispondente alla tua versione DB)
a_horse_with_no_name

1
Che ironico. stackoverflow.com/questions/9463318/… Uno dei commenti era che tali domande (e l'incapacità generale di fare cose davvero difficili come \?) avrebbero infastidito a_horse_with_no_name: D. Per essere onesti, questa risposta contiene altre informazioni utili.
John Powell,

11
potresti forse menzionare la query SQL completa per l'elenco:select * from pg_extension
icl7126

82

Inoltre, se vuoi sapere quali estensioni sono disponibili sul tuo server: SELECT * FROM pg_available_extensions


5

Questa query SQL fornisce un output simile a \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;

Grazie a https://blog.dbi-services.com/listing-the-extensions-available-in-postgresql/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.