SQLでインデックスを確認する
PostgreSQLで指定したテーブルのインデックスを確認するにはpg_indexes
システムカタログをSELECT
する。
SELECT * FROM pg_indexes WHERE tablename = 'テーブル名';
例えばusers
テーブルのインデックスを確認するには以下のように実行する。
SELECT * FROM pg_indexes WHERE tablename = 'users';
schemaname | tablename | indexname | tablespace | indexdef
------------+-----------+------------+------------+-----------------------------------------------------------------
public | users | users_pkey | | CREATE UNIQUE INDEX users_pkey ON public.users USING btree (id)
(1 row)
pg_indexes
システムカタログには以下のカラムが含まれる。
schemaname
: スキーマ名tablename
: テーブル名indexname
: インデックス名tablespace
: テーブルスペースindexdef
: インデックスの定義
\dコマンドでインデックスを確認する
PostgreSQLのpsqlコマンドラインツールでは\d
コマンドを使う。
\d テーブル名
例えばusers
テーブルのインデックスを確認するには以下のように実行する。
\d users
Table "public.users"
Column | Type | Collation | Nullable | Default
---------+---------+-----------+----------+-----------------------------------
id | integer | | not null | nextval('users_id_seq'::regclass)
name | text | | |
email | text | | |
address | text | | |
Indexes:
"users_pkey" PRIMARY KEY, btree (id)
末尾のIndexes:
以下にインデックスが表示される。
\第一線のプログラマーの行動原理を学べる!/