Sử dụng psql làm thế nào để tôi liệt kê các phần mở rộng được cài đặt trong cơ sở dữ liệu?


Câu trả lời:


363

Trong psql đó sẽ là

\dx

Xem hướng dẫn để biết chi tiết: http://www.postgresql.org/docs/civerse/static/app-psql.html

Làm điều đó bằng SQL đơn giản, nó sẽ là một lựa chọn trên pg_extension:

SELECT * 
FROM pg_extension

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


@SoichiHayashi: có lẽ bạn đang sử dụng phiên bản Postgres cũ
a_horse_with_no_name

Tôi đang chạy máy chủ PostgreSQL 9.3.5, nhưng tôi đang sử dụng máy khách psql 8.4.20 đi kèm với CentOS 6.5. Có lẽ tôi cần phải cài đặt phiên bản mới nhất của psql?
Soichi Hayashi

@SoichiHayashi \dx là một lệnh psql được giới thiệu với 9.0 khi create extensiontính năng này được phát hành. Vì vậy, có, bạn cũng cần nâng cấp psql(bạn nên luôn luôn sử dụng psqlphiên bản phù hợp với phiên bản DB của bạn)
a_horse_with_no_name

1
Thật mỉa mai làm sao. stackoverflow.com/questions/9463318/... Một trong những ý kiến có mà câu hỏi như vậy sẽ làm phiền a_horse_with_no_name (và không có khả năng tổng hợp để làm những việc thực sự khó khăn như \?): D. Để công bằng, câu trả lời này chứa thông tin hữu ích khác.
John Powell

11
bạn có thể đề cập đến truy vấn SQL đầy đủ cho danh sách:select * from pg_extension
icl7126

82

Ngoài ra, nếu bạn muốn biết tiện ích mở rộng nào có sẵn trên máy chủ của mình: SELECT * FROM pg_available_extensions


5

Truy vấn SQL này cung cấp đầu ra tương tự như \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;

Cảm ơn https://blog.dbi-service.com/listing-the-extensions-av Available-in-postgresql /

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.