■基本
バックアップ
pg_dump [DbName] > [BackUpFileName]
リストア
psql -e -f [BackUpFileName] [RestoreDbName]
■ラージオブジェクトを含む場合
バックアップ
pg_dump -b -F c [DbName] > [BackUpFileName]
リストア
pg_restore -d [RestoreDbName] [BackUpFileName]
※備考
DBへのアクセス権の問題でpostgresしか許可されていない、かつ、シェルスクリプトからバックアップを実行したい場合、postgresでシェルスクリプト(Bash)を実行します。しかし、その場合環境変数BASH_ENVのファイルを読みにいく。BASH_ENVに格納されているファイルはおおむねpostgres以外所有のファイルでエラーになるので以下の様に実行する。
su – postgres -c [bashスクリプト]
(スクリプトの中身)
#!/bin/bash
pg_dump -b -F c [DbName] > [BackUpFileName]