
No.2ベストアンサー
- 回答日時:
pg_class テーブルの relpages と reltuples の比を取ってみると参考になるかと。
例えば、1行当り1000Byte以上使っているテーブルを表示するには下記の様にします。
例) -------------------------------------
select
relname,
reltuples::int8,
relpages::int8,
CASE WHEN reltuples > 0
THEN (relpages::int8 * 8192) / reltuples::int
ELSE (relpages::int8 * 8192)
END as per_row
from pg_class
where
relkind = 'r' AND
relpages::int8 >= 2 AND
CASE
WHEN reltuples = 0 THEN TRUE
ELSE (relpages::int8 * 8192) / reltuples::int > 1000
END
order by per_row desc;
-----------------------------------------
1行分のデータが少ないはずの無いテーブルが含まれていたら、おそらく更新・削除による不要なデータが溜まっているのかと。
なお、ブロックサイズがデフォルト以外の場合は、8192を実際のブロックサイズに変えて下さい。
この回答へのお礼
お礼日時:2011/03/01 15:48
詳しくご回答頂きありがとうございます。
pg_class テーブルを活用して… と悩んでいたので、まさに!!な回答でした。
教えて頂いた情報を参考にもう少し詳しく調べてみたいと思います。
ありがとうございました!
No.1
- 回答日時:
この回答へのお礼
お礼日時:2011/03/01 15:49
ご回答頂きありがとうございます。
こういったツールがあったのですね。とても参考になりました。
試しにテスト環境に導入してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLにて指定日付より前、かつ最...
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
javaでデータベース上のテーブ...
-
テーブルにcsvファイルをインポ...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
Insertで重複となったキーをさ...
-
「テーブルに座って……」という...
-
SQL*LoaderでCSVから指定した列...
-
Oracleで上書きImportはできま...
-
sqlplusで表示が変なので、出力...
-
テーブルで一番古いレコードだ...
-
まるいテーブル 円い 丸い 漢字...
-
SQL(oracle)でご助言いただきた...
-
飲み会で、座敷orテーブルどち...
-
SQL、2つのテーブルで条件一致...
-
ビューのソートについて
-
外部キーだけのテーブル(主キ...
-
2台のサーバー間でのテーブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
テーブルに存在しない列をselec...
-
SQLでUPSERTを一度に複数行やる...
-
単純なselectが遅くなるのです...
-
javaでデータベース上のテーブ...
-
PostgreSQLの断片化の状況を確...
-
テーブルにcsvファイルをインポ...
-
2つのテーブルで引き算 postgres
-
MS Access から PostgreSQL へ...
-
テーブル定義書作成時のIndex付...
-
デットロック回避策(autocommit...
-
PostgreSQL レコードからアイテ...
-
Postgresのデータ領域の拡張に...
-
複数テーブルにまたがるmax
-
テーブルを作ろうとしたら。
-
COPYコマンドによるTEXT取り込...
-
ワークテーブル(ローカル)か...
-
postgreSQL カラムの全ての値を...
-
reindex と update のデッドロック
おすすめ情報