Bagaimana cara daftar semua skema di PostgreSQL?

Ketika menggunakan PostgreSQL v9.1, bagaimana cara daftar semua skema menggunakan SQL?

Aku mengharapkan sesuatu di sepanjang baris:

SELECT something FROM pg_blah;
Larutan

Untuk daftar semua skema, gunakan (ANSI) standar INFORMATION_SCHEMA

select schema_name
from information_schema.schemata;

Rincian lebih lanjut di manual

atau:

select nspname
from pg_catalog.pg_namespace;

Rincian lebih lanjut tentang pg_catalog di manual

Komentar (0)

Ketika menggunakan psql baris perintah, anda dapat membuat daftar semua skema dengan perintah \dn.

Komentar (4)

Terhubung ke perintah psql --> psql-u {userName} {DBName} maka anda dapat mengetik perintah di bawah ini untuk memeriksa berapa banyak skema yang hadir dalam DB

DBName=# \dn

Lain anda dapat memeriksa sintaks di bawah ini langkah-langkah yang mudah-

  1. Setelah menghubungkan DB, tekan

DBName=# membantu

Anda akan mendapatkan pilihan di bawah ini:

Anda menggunakan psql, antarmuka baris perintah untuk PostgreSQL. Type: \copyright for distribution terms \h for help with SQL commands \? untuk membantu dengan perintah psql \g or terminate with semicolon to execute query \q to quit

Kemudian tekan

DBName=# \?

Anda akan mendapatkan semua pilihan yang sangat mudah.

Komentar (0)

Dimulai Pada postgres 9.3, salah Satu trik yang dapat anda gunakan dalam postgres untuk mendapatkan yang tepat sql informasi perintah (seperti \d \du, \dp, dll) pada psql adalah dengan menggunakan sebuah transaksi. Berikut ini's bagaimana caranya berjalan. Membuka satu postgres sesi, kemudian ketik perintah :

begin;
\dn+

Sementara transaksi masih berjalan, buka lagi postgres sesi, dan query pg_stat_activity dan anda bisa mendapatkan yang tepat sql.

postgres=# select query from pg_stat_activity ;
                                 query                                 
-----------------------------------------------------------------------
 SELECT n.nspname AS "Name",                                          +
   pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner",                 +
   pg_catalog.array_to_string(n.nspacl, E'\n') AS "Access privileges",+
   pg_catalog.obj_description(n.oid, 'pg_namespace') AS "Description" +
 FROM pg_catalog.pg_namespace n                                       +
 WHERE n.nspname !~ '^pg_' AND n.nspname  'information_schema'      +
 ORDER BY 1;
Komentar (2)