zabbixで使用しているpostgreSQLのDBサイズの縮小方法について

CentOS 6.8
zabbix 2.2.11
postgresql 8.4.20

zabbixで使用しているDBサイズが大きくなってきたので、バックアップ(dump)からリストアをして、サイズを小さくしようとしています。

postgresqlのバックアップ/リストアを実施した経験があまりないので、いろいろ調べながらやっているのですが、
初歩的なことなのですが、バックアップ/リストアの際にzabbixサーバの停止は必要なのでしょうか。
※稼働中だとデータの整合性が取れない為、バックアップ時は停止した方が良いと考えています。

また、リストア時ですが、「-c」を付けてリストアするのと一度DBをDROPしてからリストアするのはどちらが良いのでしょうか。

-----------------------
・zabbix用DB名:zabbix_db

■バックアップ
# su - postgres
$ pg_dump --format=custom zabbix_db > zabbix_db_dump.custom

■リストア
# su - postgres
$ pg_restore -c -C -d postgres zabbix_db_dump.custom
  もしくは
$ pg_restore -C -d postgres zabbix_db_dump.custom

~~~~~
-c
--clean
再作成前にデータベースオブジェクトを整理(削除)します。 (対象のデータベースの中にオブジェクトがまったくない場合でも、害のないメッセージをいくつか出力するかもしれません。)

-C
--create
リストア前にデータベースを作成します。 --cleanも同時に指定されている場合、接続する前に対象データベースを削除し再作成します。

このオプションがある場合、-dで指定したデータベースは最初のDROP DATABASEとCREATE DATABASEコマンドの発行時にのみ使用されます。 そして、すべてのデータはアーカイブ内に記述された名前のデータベースにリストアされます。
-----------------------

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

バックアップ/リストアの際にzabbixサーバの停止は必要なのでしょうか。

停止した方が良いと思います。

あと、書かれていたコマンドラインで本当に目的のバックアップと
リストアができるのか、テスト用の環境を作成して確認するように
してください。
私なら、綺麗な状態の環境にしたいのであれば、明示的に削除して
からにします。

あと、サイズを小さくするだけなら、VACUUMやREINDEXを使うとい
う方法もあるのではないかと私は思うのですが、いかがでしょうか。

回答頂きありがとうございます。

動作について、テスト用の環境を用意して確認しました。

データの削除は、以下のGithubにあったスクリプトで削除してdumpとvacuum fullの確認しました。
https://github.com/jalexandre0/zabbix/blob/master/scripts/housekeeping.sh

※pg_restoreで-c と-C が一緒に使用できなかったので、一度DBはDROPしてから オプション -C -d を使用しました。
その結果、dumpリストアの方がZabbixの停止時間が短かったので、dumpリストアで行おうと思います。

VACUUMとREINDEXですが、あまりサイズを小さくできなかった為、今回見送りました。