您缺少一些简单的东西:如何使用可用的文档。我建议您这样做是因为您的问题非常基本,而且PostgreSQL有大量的文档,这些文档在将来会非常有用—它可以为您节省很多时间。
-
看看
documentation
:)
-
\?
从命令行获取命令帮助
-
man
页面输入
\c or \connect
,这正是您所需要的;对于您质疑后面的SQL的其他命令,可以将ECHO_HIDDEN设置为显示系统查询。
psql -E <rest of your db connection>
-- then do something like "\d"
然后您将看到Postgres是如何执行查询的:
postgres@ubuntu:/home/fooUser$ psql -E
postgres=# \d
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','v','S','')
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************