pg_dump生成的文本文件可以由psql程序读取。从转储中恢复的常用命令是:
gsql dbname < dumpfile
其中dumpfile为pg_dump命令的输出文件。这条命令不会创建数据库dbname,必须在执行psql前自己从template0创建(例如,用命令createdb -T template0 dbname)。psql支持类似pg_dump的选项用以指定要连接的数据库服务器和要使用的用户名。参阅psql的手册获取更多信息。 非文本文件转储可以使用pg_restore工具来恢复。
在开始恢复之前,转储库中对象的拥有者以及在其上被授予了权限的用户必须已经存在。如果它们不存在,那么恢复过程将无法将对象创建成具有原来的所属关系以及权限。
默认情况下,gsql脚本在遇到一个SQL错误后会继续执行。如果需要在遇到一个SQL错误后让psql退出,那么可以设置ON_ERROR_STOP变量来运行psql,这将使gsql在遇到SQL错误后退出并返回状态3:
psql --set ON_ERROR_STOP=on dbname < infile