Atunci când se utilizează PostgreSQL v9.1, cum am lista toate schemele folosind SQL?
Mă așteptam la ceva de-a lungul liniilor de:
SELECT something FROM pg_blah;
Conectați-vă la psql comanda --> psql-u {userName} {DBName}, atunci aveți posibilitatea să tastați comanda de mai jos pentru a verifica cât de multe scheme sunt prezente în DB
DBName=# \dn
Mai poți verifica sintaxa de mai jos pașii cu ușurință-
DBName=# ajutor
Veți obține opțiunile de mai jos:
utilizați psql, linia de comandă interfață pentru PostgreSQL. Tip: \drepturile de autor pentru termeni de distribuție \h pentru ajutor cu SQL comenzi \? pentru a vă ajuta cu psql comenzi \g sau termina cu punct și virgulă pentru a executa interogarea \q
Apoi apăsați
DBName=# \?
Veți obține toate opțiunile foarte usor.
Începutul Pe postgres 9.3, Un truc puteți utiliza în postgres pentru a obține exact sql informaționale de comandă (cum ar fi \d \du, \dp, etc) în psql este de a folosi o tranzacție. Aici's cum merge șmecheria. Deschide un postgres sesiune, apoi tastați comanda :
begin;
\dn+
În timp ce tranzacția încă rulează, deschideți un alt postgres sesiune, și interogare pg_stat_activity și puteți obține exact 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;