1. ホーム

[解決済み】PostgreSQLスキーマのテーブルを一覧表示する。

2022-03-24 05:30:24

質問

を実行すると \dt で、現在のスキーマのテーブルのリストだけが表示されます ( public はデフォルトで使用されます)。

すべてのスキーマまたは特定のスキーマのすべてのテーブルのリストを取得するにはどうすればよいですか?

解決方法は?

すべてのスキーマで

=> \dt *.*

特定のスキーマで

=> \dt public.*

を使用することが可能です。 正規表現にはいくつかの制約があります。

\dt (public|s).(s|t)
       List of relations
 Schema | Name | Type  | Owner 
--------+------+-------+-------
 public | s    | table | cpn
 public | t    | table | cpn
 s      | t    | table | cpn

上級者は、文字クラスのような正規表現表記、例えば[0-9]を使って任意の数字にマッチさせることができます。すべての正規表現の特殊文字は、項9.7.3で指定されているように動作します。 . は、前述のようにセパレータとして扱われます。 * という正規表現表記に変換されます。 .* , ? に変換されます。 .$ であり,文字通りにマッチする。これらのパターン文字は,必要なときに ? に対して . , (R+|) について R* または (R|) に対して R? . $ は、通常の正規表現の解釈とは異なり、パターンが名前全体にマッチする必要があるため、正規表現文字としては不要です(言い換えると $ が自動的にパターンに追加されます)。書く * を、パターンの最初と最後のどちらかに記述してください。二重引用符の中では、すべての正規表現の特殊文字は特別な意味を失い、 文字通りにマッチすることに注意してください。また,正規表現の特殊文字は,演算子名パターンにおいても 文字通りにマッチします。 \do ).