选项 |
说明 |
-a(--data-only) |
只输出数据,不输出模式(数据对象的定义)。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定选项。 |
-b(--blobs) |
在dump中包含大对象。 |
-c(--clean) |
在输出创建数据库对象的SQL命令之前,先输出删除该数据库对象的SQL命令。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定选项。 |
-C(--create) |
先输出创建数据库的命令,之后再重新连接新创建的数据库。对于此种格式的脚本,在运行之前是和哪个数据库进行连接就不这么重要了。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定选项。 |
-Eencoding |
以指定的字符集创建该dump文件。 |
-ffile |
输出到指定文件,如果没有该选项,则输出到标准输出。 |
-Fformat |
p(plain): 纯文本格式的SQL脚本文件(缺省)。c(custom): 输出适合于pg_restore的自定义归档格式。这是最灵活的格式,它允许对装载的数据和对象定义进行重新排列。这个格式缺省的时候是压缩的。t(tar):输出适合于pg_restore的tar归档文件。使用这个归档允许在恢复数据库时重新排序和/或把数据库对象排除在外。同i时也可能可以在恢复的时候限制对哪些数据进行恢复。 |
-n schema |
只转储schema的内容。如果没有声明该选项,目标数据库中的所有非系统模式都会被转储。该选项也可以被多次指定,以指定不同pattern的模式。 |
-Nschema |
不转储匹配schema的内容,其他规则和-n一致。 |
-o(--oids) |
作为数据的一部分,为每个表都输出对象标识(OID)。 |
-O(--no-owner) |
不输出设置对象所有权的SQL命令。 |
-s(--schema-only) |
只输出对象定义(模式),不输出数据。 |
-Susername |
指定关闭触发器时需要用到的超级用户名。它只有在使用--disable-triggers的时候才有关系。 |
-ttable |
只输出表的数据。很可能在不同模式里面有多个同名表,如果这样,那么所有匹配的表都将被转储。通过多次指定该参数,可以一次转储多张表。这里还可以指定和psql一样的pattern,以便匹配更多的表。(关于pattern,基本的使用方式是可以将它视为unix的通配符,即*表示任意字符,?表示任意单个字符,.(dot)表示schema和object之间的分隔符,如a*.b*,表示以a开头的schema和以b开头的数据库对象。如果没有.(dot),将只是表示数据库对象。这里也可以使用基本的正则表达式,如[0-9]表示数字。) |
-Ttable |
排除指定的表,其他规则和-t选项一致。 |
-x(--no-privileges) |
不导出访问权限信息(grant/revoke命令)。 |
-Z0..9 |
声明在那些支持压缩的格式中使用的压缩级别。 (目前只有自定义格式支持压缩) |
--column-inserts |
导出数据用insert into table_name(columns_list) values(values_list)命令表示,这样的操作相对其它操作而言是比较慢的,但是在特殊情况下,如数据表字段的位置有可能发生变化或有新的字段插入到原有字段列表的中间等。由于columns_list被明确指定,因此在导入时不会出现数据被导入到错误字段的问题。 |
--inserts |
导出的数据用insert命令表示,而不是copy命令。即便使用insert要比copy慢一些,但是对于今后导入到其他非PostgreSQL的数据库是比较有意义的。 |
--no-tablespaces |
不输出设置表空间的命令,如果带有这个选项,所有的对象都将恢复到执行pg_restore时的缺省表空间中。 |
--no-unlogged-table-data |
对于不计入日志(unlogged)的数据表,不会导出它的数据,至于是否导出其Schema信息,需要依赖其他的选项而定。 |
-h(--host=host) |
指定PostgreSQL服务器的主机名。 |
-p(--port=port) |
指定服务器的侦听端口,如不指定,则为缺省的5432。 |
-U(--username=username) |
本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。 |
-w(--no-password) |
如果当前登录用户没有密码,可以指定该选项直接登录。 |