Sté*_*ane 340 schema postgresql postgresql-9.1
使用 PostgreSQL v9.1 时,如何使用 SQL 列出所有模式?
我期待着以下内容:
SELECT something FROM pg_blah;
Run Code Online (Sandbox Code Playgroud)
a_h*_*ame 355
要列出所有模式,请使用 (ANSI) 标准 INFORMATION_SCHEMA
select schema_name
from information_schema.schemata;
Run Code Online (Sandbox Code Playgroud)
手册中的更多详细信息
或者:
select nspname
from pg_catalog.pg_namespace;
Run Code Online (Sandbox Code Playgroud)
手册中有关 pg_catalog 的更多详细信息
epp*_*uig 353
使用psql
命令行时,您可以使用command 列出所有模式\dn
。
小智 51
连接到 psql 命令 --> psql --u {userName} {DBName} 然后您可以键入以下命令来检查数据库中存在多少架构
DBName=# \dn
Run Code Online (Sandbox Code Playgroud)
否则,您可以通过以下步骤轻松检查语法-
连接数据库后,按
DBName=# help
Run Code Online (Sandbox Code Playgroud)您将获得以下选项:
您正在使用 psql,这是 PostgreSQL 的命令行界面。
键入:\copyright 用于分发条款
\h 用于 SQL 命令的帮助
\? 有关 psql 命令的帮助
\g 或以分号终止以执行查询
\q 退出
然后按
DBName=# \?
Run Code Online (Sandbox Code Playgroud)
您将非常轻松地获得所有选项。
Son*_*riz 19
从 postgres 9.3 开始,您可以在 postgres 中使用的一个技巧是使用事务来获取 psql 中信息命令(例如 \d、\du、\dp 等)的确切 sql。诀窍是这样的。打开一个 postgres 会话,然后输入您的命令:
begin;
\dn+
Run Code Online (Sandbox Code Playgroud)
当事务仍在运行时,打开另一个 postgres 会话,并查询 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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
641330 次 |
最近记录: |