pg_dump用于提取 PostgreSQL数据库到一个脚本文件或其他的存档文件
用法:
pg_dump [connection-option...] [option...] [dbname]
描述:
pg_dump用于备份postgresql数据库,它可以在数据库运行时使用,pg_dump不会阻塞其他的用户访问数据库。
转储的内容可以脚本或存档的方式输出。脚本转储指包含SQL命令的纯文本文件,这些 SQL 命令可以用于重建该数据库并将之恢复到保存成脚本的时候的状态。要从这些脚本中恢复数,需要使用psql命令。脚本文件可以被用来重建数据库。
另一种归档文件格式必须和pg_restore一起使用重建数据库。它们允许pg_restore有选择地进行恢复,甚至在恢复前重新排列项目。归档文件格式被设计成跨平台移植。
当一种归档文件格式与pg_restore结合使用,那么pg_dump就能提供一种灵活的归档和传输机制。 pg_dump可以用于备份整个数据库,然后就可以使用pg_restore检查这个归档和/或选择要恢复的数据库部分。最灵活的输出文件格式是“自定义”格式(-Fc)。它允许选择和重新排序的所有归档的项目,在默认情况下被压缩。
在运行pg_dump的时候,你应该检查任何警告的输出(在标准错误上打印)。
Options
下面的命令行选项控制内容及格式输出。
-
dbname
-
指定数据库的名称,如果没有指定,会引用环境变量 PGDATABASE, 如果环境变量没有设置,那么会指定使用用户名来连接。
-a
-
只转储数据,而不是架构(数据的定义)。表中的数据,大对象的序列值被转储。此选项与specifying --section=data类似。
-b
-
包含大对象,当指定参数为 --schema, --table, or --schema-only 是该动作默认执行,所以-b选项只在选择性转储数据时有用。
-c
-
输出在创建数据库创建命令之前先清理(删除)该数据库对象的命令
此选项只对纯文本格式有意义的。对于归档格式,你可以在调用pg_restore时指定该选项
--data-only
--blobs
--clean