[解決済み] Postgres / PostgreSQLのテーブルとインデックスのディスクサイズはどのように見つけるのですか?
2022-04-13 04:54:08
質問
OracleからPostgresに移行し、テーブルとインデックスの大きさを
bytes/MB/GB/etc
あるいは、すべてのテーブルのサイズでもかまいません。 Oracleでは、答えを返すためにuser_lobsとuser_segmentsを調べる長いクエリを持っていました。
Postgresの場合、このメソッドで使用できるものがあると思います。
information_schema
テーブルがありますが、どこにあるのかわかりません。
どのように解決するのですか?
を試してみてください。 データベースオブジェクトサイズ関数 . 一例です。
SELECT pg_size_pretty(pg_total_relation_size('"<schema>"."<table>"'));
すべてのテーブルについて、以下のような内容。
SELECT
table_schema || '.' || table_name AS table_full_name,
pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
FROM information_schema.tables
ORDER BY
pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC;
編集:以下は、便宜上、@phordが提出したクエリです。
SELECT
table_name,
pg_size_pretty(table_size) AS table_size,
pg_size_pretty(indexes_size) AS indexes_size,
pg_size_pretty(total_size) AS total_size
FROM (
SELECT
table_name,
pg_table_size(table_name) AS table_size,
pg_indexes_size(table_name) AS indexes_size,
pg_total_relation_size(table_name) AS total_size
FROM (
SELECT ('"' || table_schema || '"."' || table_name || '"') AS table_name
FROM information_schema.tables
) AS all_tables
ORDER BY total_size DESC
) AS pretty_sizes;
を使用するように少し修正しました。
pg_table_size()
でメタデータを含め、サイズを加算するようにしました。
関連
-
postgresql 重複データ削除 ケーススタディ
-
Postgresqlのセルフインクリメントidをキーにした場合の重複問題の解決
-
[解決済み] Psql はサーバーに接続できませんでした。そのようなファイルまたはディレクトリがありません、5432エラー?
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] psql'に非対話的にパスワードを指定するには?
-
[解決済み] Postgres の全テーブルの行数を求めるには?
-
[解決済み】PostgreSQLで読み取り専用ユーザーを作成する方法は?
-
[解決済み】postgreSQL で既存のテーブルに対して "create table" SQL 文を生成する方法
-
[解決済み】Postgresと外部キーおよびプライマリキー上のインデックス
-
[解決済み] PostgreSQLでトリガーを一時的に無効にするにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Postgresql データベース timescaledb timescaledb 問題 大容量データテーブルをスーパーテーブルに変換すること
-
postgreSQLのクエリ結果に自己インクリメントシーケンス演算が追加されました。
-
PostgreSQLの自己インクリメント構文使用上の注意点
-
PostgreSQLで時間指定タスクを実装する4つの方法
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み] Postgres で、あるデータベースから別のデータベースにテーブルをコピーする
-
[解決済み】PostgreSQLがインデックス付きカラムに対してシーケンシャルスキャンを実行するのはなぜですか?
-
[解決済み] Postgres/SQLで2つの整数の最小値/最大値を取得する方法は?
-
[解決済み] enumが持ちうるすべての値を取得するSQLクエリ
-
[解決済み] Postgres でシーケンスをリセットし、id 列を新しいデータで埋めるにはどうすればよいですか?