PostgreSQL でスキーマのテーブルを一覧表示するにはどうすればいいですか? 質問する

PostgreSQL でスキーマのテーブルを一覧表示するにはどうすればいいですか? 質問する

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

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

ベストアンサー1

すべてのスキーマにおいて:

=> \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

おすすめ記事