データベースサーバのログ出力を /dev/null に渡してしまうのではなく、どこかに保存しておくことを推奨します。問題の原因を究明する時にログ出力は貴重です。しかし、ログ出力は (特により高いデバッグレベルの時に) 巨大になりがちですので、際限なく保存したくはないでしょう。新しいログファイルを開始させ、古いログファイルを捨ててしまうために、度々ログファイルを "回転" させる必要があります。
単に postmaster の stderr をファイルに落しているのであれば、ログファイルを切り詰める方法は、postmaster を停止し、再度起動することだけです。これは、開発段階では問題ありませんが、実運用のサーバではこの方法で動作させないでしょう。
実運用レベルの最も簡単なログ出力の管理方法は、syslog に全てを送信し、syslog にファイルの回転を行なわせることです。このためには、PostgreSQL が --enable-syslog 構築時オプション付きで構築されていることを確認し、postgresql.conf 中で syslog を 2(syslog にのみログを出力) に設定して下さい。そして、新しいログファイルへの書き込みを始めたい時に、syslog デーモンに SIGHUPを送信して下さい。
しかし、多くのシステムでは、特に巨大なログメッセージでは syslog はあまり信頼できません。必要なメッセージを切り詰めてしまったり、破棄してしまったりする可能性があります。postmaster の stderr を何らかのログ回転スクリプトにパイプで渡す方が、より便利であると考えるかも知れません。 pg_ctl を使ってpostmaster を起動する場合、その postmaster の stderr はすでにstdoutにリダイレクトされています。ですので、単にパイプコマンドを以下のように使用する必要があります。
pg_ctl start | logrotate
PostgreSQL 配布物には、適したログ回転プログラムは含まれていませんが、例えば、Apache の配布物に含まれているものなど、ネット上には多くのものがあります。