Respuestas:
Al usar la psql
línea de comando, puede enumerar todos los esquemas con comando \dn
.
\dn
enumeran, en oposición a las tablas que \dt
enumeran?
\dt
enumera las tablas para el esquema público. Para mostrar tablas de todos los esquemas de uso \dt *.*
y para un uso de esquema particular \dt schema_name.*
.
Conéctese al comando psql -> psql --u {userName} {DBName}, luego puede escribir el siguiente comando para verificar cuántos esquemas están presentes en la base de datos
DBName=# \dn
De lo contrario, puede verificar la sintaxis siguiendo los pasos a continuación fácilmente:
Después de conectar el DB, presione
DBName=# help
Obtendrá las siguientes opciones:
Está utilizando psql, la interfaz de línea de comandos para PostgreSQL.
Escriba: \ copyright para los términos de distribución
\ h para obtener ayuda con los comandos SQL
\? para obtener ayuda con los comandos psql
\ g o terminar con punto y coma para ejecutar la consulta
\ q para salir
Entonces presione
DBName=# \?
Obtendrá todas las opciones muy fácilmente.
Comenzando en postgres 9.3, un truco que puede usar en postgres para obtener el sql exacto del comando informativo (como \ d, \ du, \ dp, etc.) en psql es mediante el uso de una transacción. Así es como funciona el truco. Abra una sesión de postgres, luego escriba su comando:
begin;
\dn+
Mientras la transacción aún se está ejecutando, abra otra sesión de postgres y consulte pg_stat_activity para obtener el sql exacto.
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;
\set ECHO_HIDDEN on
psql -E