テーブル一覧を確認するコマンド
PostgreSQL にて作成したテーブル一覧を確認する方法について解説します。
Advertisement
\dt コマンド
まずは psql のコマンドラインにて実行する「\dt」コマンドです。PostgreSQL にて作成したデータベースに接続した後に
〇実行するコマンド
\dt
を実行すると、データベースにある全てのテーブルを確認することができます。
〇コマンドの実行履歴
1 2 3 4 5 6 7 8 9 |
test_db=> \dt List of relations Schema | Name | Type | Owner --------+----------+----------+----------- public | sample1 | table | test_owner public | sample2 | table | test_owner public | sample11 | sequence | test_owner public | sample12 | sequence | test_owner (4 rows) |
システムカタログ pg_tables を確認する
次の方法は PostgreSQL のシステムカタログにあるテーブルに関する情報をまとめた pg_tables から参照する方法です。
〇実行する SQL 文
select schemaname, tablename, tableowner from pg_tables;
pg_tables で提供されているカラムは下記の通りです。
名前 | 型 | 参照先 | 説明 |
---|---|---|---|
schemaname | name | pg_namespace.nspname | テーブルを持つスキーマ名 |
tablename | name | pg_class.relname | テーブル名 |
tableowner | name | pg_authid.rolname | テーブルの所有者 |
tablespace | name | pg_tablespace.spcname | テーブルを含むテーブル空間の名前(データベースのデフォルトの場合はNULL) |
hasindexes | boolean | pg_class.relhasindex | テーブルがインデックスを持っている(もしくは最近まで持っていた)なら真 |
hasrules | boolean | pg_class.relhasrules | テーブルにルールがある(もしくは以前あった)時は真 |
hastriggers | boolean | pg_class.relhastriggers | テーブルにトリガがある(もしくは以前あった)時は真 |
rowsecurity | boolean | pg_class.relrowsecurity | テーブルの行セキュリティが有効なら真 |
紹介した SQL 文は、提供された機能の中からスキーマ名、テーブル名、テーブルの所有者を表示しています。
〇SQL 文の実行履歴
1 2 3 4 5 6 7 8 |
test_db=> select schemaname, tablename, tableowner from pg_tables; schemaname | tablename | tableowner ------------+--------------+------------- public | test | test_owner public | color_master | test_owner public | city_master | test_owner public | user_info | test_owner (4 rows) |
Advertisement
さいごに
SQL 文は、MySQL や SQLServer、Oracle など複数の言語で共通性が見えるものの、データベースやテーブルの参照についてはデータベース言語ごとに独自の構文が多く見受けられます。
ふと思い出せないときに本記事が参考になれば幸いです。
Linuxの知識については下記の本も参考になるので、スキルアップにお役立てください。

Author:しき 投稿一覧
奈良県在住のエンジニア。アルバイトでゲーム開発に携わりIT業界入り。組み込みや業務系のソフト開発を経験して、その後レンタルサーバー会社にてインターネットの根幹の知識を得る。今ではスマホアプリの開発やWeb開発、インフラの構築に従事中。
関連する記事
インフラカテゴリの最新記事
-
- 2023.08.20
- docker,
[docker]対処法:コンテナにログインした時にvi(vim)コマンドが使えない
-
- 2023.08.20
- docker,
[docker]対処法:OCI runtime create failed exec: “bash”: executable file not found
-
- 2023.01.06
- ubuntu,
Debian/Ubuntu系統のサーバOSではcrontabのMAILFROMは使えない件について
-
- 2022.07.19
- ubuntu,
[AWS]Ubuntu22.04 LTS にSSH接続(ログイン)できない問題の解決方法
-
- 2022.06.07
[python]torch がインストールできない場合の対応策
-
- 2022.06.02
- cloudwatch,
[AWS]CloudWatchで監視を行う項目