Відповіді:
Під час використання psql
командного рядка ви можете перелічити всі схеми з командою \dn
.
\dn
перераховані, на відміну від таблиць , які \dt
перераховані?
\dt
перераховує таблиці для загальнодоступних схем. Показати таблиці всіх схем використання \dt *.*
та певного використання схеми \dt schema_name.*
.
Підключіться до команди psql -> psql --u {userName} {DBName}, тоді ви можете ввести команду нижче, щоб перевірити, скільки схем є в БД
DBName=# \dn
Інакше ви можете легко перевірити синтаксис, виконавши наведені нижче кроки,
Після підключення БД натисніть
DBName=# help
Ви отримаєте наступні варіанти:
Ви використовуєте psql, інтерфейс командного рядка для PostgreSQL.
Тип: \ авторське право на умови розповсюдження
\ h для довідки з командами SQL
\? за допомогою команд psql
\ g або закінчуйте крапкою з комою, щоб виконати запит
\ q для виходу
Потім натисніть
DBName=# \?
Ви отримаєте всі варіанти дуже легко.
Починаючи з postgres 9.3, один трюк, який ви можете використовувати в postgres, щоб отримати точний sql інформаційної команди (наприклад, \ d, \ du, \ dp тощо) у psql, це шляхом транзакції. Ось як виходить хитрість. Відкрийте один сеанс післяскреси та введіть свою команду:
begin;
\dn+
Поки транзакція все ще виконується, відкрийте ще один сеанс постгресів і запитайте pg_stat_activity, і ви зможете отримати точний 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;
\set ECHO_HIDDEN on
psql -E