PostgreSQLテーブル内の列数を調べる

時間がかかってもよくて、手間を惜しまないなら各テーブルに対して SELECT COUNT  … とするのも有りだろうけど、あるデータベース全体で各テーブルの列数の概算を知りたい場合とかを想定。
気がついたら、1000万近い列数にふくれあがっていて、その99%は削除フラグがついてました、みたいなことが起こらなくてすむように。

PostgreSQL のカタログ情報は pg_class テーブルにある。この情報は、ANALYZE, VACUUM を実行するたびに更新される。

SELECT relname, relpages, reltuples FROM pg_class WHERE relkind = 'r' and relname like 'テーブル名';
Advertisements
Tagged with:
Posted in database

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: