最近のPostgreSQLだと、ページ内で使われている行がなかった領域を再利用するので、ある程度読み書きをしていると増える量が減る(昔は追記のみでバキュームでしか削減できなかった)。バックアップから戻したりした直後だと、全体が隙間無く詰まっているので、書き込み時に再利用できる領域がなくて増える量が多く見えるかもしれない。
書き換えが多いテーブルとかだと、テーブル作成時にfillfactorを設定してあらかじめ領域を開けておくというのもあるけど、まあよほど読み書き激しいテーブルじゃないと使わないし、そこまで激しいならキャッシュするなり別の管理方法とか設計を考えた方が良いわね。
思考の /dev/null