PostgreSQLデータベースがあります。 1つのテーブルは非常に大きいです。 TEXT列を別のテーブルに抽出し、サイズをどの程度削減できるかを確認したいと思います。問題は、私が何をしてもサイズが変わらないように見えることです。
Psqlで\dt+
を発行してサイズを取得しています。
VACUUM FULL
とdp_dumpall
を試してから、データベースを削除して復元しました。
テーブルのサイズは変更されませんでした。
2番目のTEXT列を追加し、サイズが数百MB増加するのを監視し、列を削除しましたが、サイズを再び下げることができません。
これらの列を削除した後、テーブルのサイズを小さくするにはどうすればよいですか?
TEXT型の列は、テーブルデータと共に格納されていません。 PostgreSQLはそれらをblobのように扱い、トーストテーブルを使用して実際のデータを格納します。おそらくそれが、テーブルサイズの縮小が見られない理由です。