如何在模式中列出postgres中的所有表

enf*_*ion 0 postgresql command-prompt database-schema

我正在尝试列出数据库中的所有表.\ dt没有这样做,可能是因为名称冲突.我尝试了很多命令,但是当不同模式中的两个表共享一个名称时,只有一个表被\ dt列出:

CREATE DATABASE tester;
\c tester
CREATE SCHEMA hid1;
CREATE SCHEMA hid2;
CREATE TABLE a (a int);
CREATE TABLE b (a int);
CREATE TABLE hid1.a (a int);
CREATE TABLE hid1.b (a int);
CREATE TABLE hid1.c (a int);
CREATE TABLE hid2.a (a int);
CREATE TABLE hid2.d (a int);
\dt
SET search_path TO public,hid1,hid2;
\dt
SET search_path TO hid1,public,hid2;
\dt
SET search_path TO hid2,hid1,public;
\dt
Run Code Online (Sandbox Code Playgroud)

tester=# \dt
       List of relations
 Schema | Name | Type  | Owner
--------+------+-------+-------
 hid1   | a    | table | bob
 hid1   | b    | table | bob
 hid1   | c    | table | bob
 hid2   | d    | table | bob
(4 rows)

tester=# SET search_path TO hid2,hid1,public;
SET
tester=# \dt
       List of relations
 Schema | Name | Type  | Owner
--------+------+-------+-------
 hid1   | b    | table | bob
 hid1   | c    | table | bob
 hid2   | a    | table | bob
 hid2   | d    | table | bob
(4 rows)
Run Code Online (Sandbox Code Playgroud)

看看三个表是如何被屏蔽的?我的理解是模式是命名空间.那是我出错的地方吗?我错过了什么吗?

Clo*_*eto 6

询问所有模式中的所有表 *

\dt *.*
Run Code Online (Sandbox Code Playgroud)