
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でUPSERTを一度に複数行やる...
-
テーブルに存在しない列をselec...
-
SELECT 文の NULL列は?
-
PostgreSQLの断片化の状況を確...
-
SQLにて指定日付より前、かつ最...
-
Postgresqlで配列に日付を格納...
-
テーブルにcsvファイルをインポ...
-
VIEWのCOPYってできないんですか?
-
単純なselectが遅くなるのです...
-
「テーブルに座って……」という...
-
AccessのSQL 部分一致したデー...
-
テーブルで一番古いレコードだ...
-
降順で並び替えて昇順で受け取...
-
SQLで複数列のデータを複数行に...
-
外部キーだけのテーブル(主キ...
-
飲み会で、座敷orテーブルどち...
-
会社の飲み会の幹事になり、座...
-
SQLでSUMなどの関数でデータが...
-
ORA-01401が表示され、データが...
-
コンボボックスにレコードセッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
テーブルに存在しない列をselec...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
javaでデータベース上のテーブ...
-
単純なselectが遅くなるのです...
-
2つのテーブルで引き算 postgres
-
PostgreSQL レコードからアイテ...
-
テーブルを作ろうとしたら。
-
デットロック回避策(autocommit...
-
Postgresのデータ領域の拡張に...
-
MS Access から PostgreSQL へ...
-
Postgresqlのレポート機能について
-
reindex と update のデッドロック
-
最新レコードを抽出し外部結合...
-
異なるデータベースでのINSERT...
-
投稿記事と関連付けているテー...
-
テーブルにcsvファイルをインポ...
-
SQLのクエリの書き方を教えて下...
おすすめ情報