私のPostgres DBの全てのテーブルを一覧表示するために利用できるクエリはありますか?.
私は一つのクエリを試してみました:
SELECT table_name FROM information_schema.tables
WHERE table_schema='public'
しかし、このクエリはビューも返します。
ビューではなく、テーブル名のみを取得する方法を教えてください。
このクエリの内容は何ですか( manual の説明に基づく)?
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public'
AND table_type='BASE TABLE';
データベースのリストが欲しいなら
SELECT datname FROM pg_database WHERE datistemplate = false;
すべてのデータベースの現在のpgインストールからのテーブルのリストが欲しいなら
SELECT table_schema,table_name FROM information_schema.tables
ORDER BY table_schema,table_name;
あなたが望むデータベースでpostgres端末を開いてください:
psql dbname (run this line in a terminal)
その後、postgres環境でこのコマンドを実行してください。
\d
これはすべてのテーブルを名前で説明します。基本的には名前の昇順のテーブルのリストです。
それからこれを試して、フィールドでテーブルを記述することができます。
\d tablename.
お役に立てれば。
select
relname as table
from
pg_stat_user_tables
where schemaname = 'public'
select
tablename as table
from
pg_tables
where schemaname = 'public'
psql
に\dt
だけを指定してはどうですか? https://www.postgresql.org/docs/current/static/app-psql.html を参照してください。
これを試して:
SELECT table_name
FROM information_schema.tables
WHERE table_schema='public' AND table_type='BASE TABLE'
これはうまくいく!