Menggunakan psql bagaimana cara mendaftar ekstensi yang diinstal dalam database?

Jawaban:

363

Dalam psql itu akan menjadi

\dx

Lihat manual untuk detail: http://www.postgresql.org/docs/current/static/app-psql.html

Melakukannya dalam SQL biasa itu akan menjadi pilih pada pg_extension:

SELECT * 
FROM pg_extension

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

seekor kuda tanpa nama
sumber
@SoichiHayashi: maka Anda mungkin menggunakan versi Postgres lama
a_horse_with_no_name
Saya menjalankan server PostgreSQL 9.3.5, tetapi saya menggunakan klien psql 8.4.20 yang datang dengan CentOS 6.5. Mungkin saya perlu menginstal versi psql terbaru?
Soichi Hayashi
@SoichiHayashi \dx adalah perintah psql yang diperkenalkan dengan 9.0 saat create extensionfitur dirilis. Jadi ya, Anda perlu memutakhirkan psqljuga (Anda harus selalu menggunakan psqlversi yang cocok dengan versi DB Anda)
a_horse_with_no_name
1
Sungguh ironis. stackoverflow.com/questions/9463318/... Salah satu komentar di sana adalah pertanyaan seperti itu (dan ketidakmampuan umum untuk melakukan hal-hal yang sangat sulit seperti \?) akan mengganggu a_horse_with_no_name: D. Agar adil, jawaban ini mengandung informasi bermanfaat lainnya.
John Powell
11
Anda mungkin bisa menyebutkan permintaan SQL lengkap untuk daftar:select * from pg_extension
icl7126
82

Selain itu jika Anda ingin tahu ekstensi mana yang tersedia di server Anda: SELECT * FROM pg_available_extensions

Dave Glassborow
sumber
5

Permintaan SQL ini memberikan hasil yang mirip dengan \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;

Terima kasih kepada https://blog.dbi-services.com/listing-the-extensions-available-in-postgresql/

hit3k
sumber