pg_dump使用注意事项

pg_dump 是 PostgreSQL 数据库的备份工具,本文详细介绍了使用 pg_dump 的一些关键注意事项,包括 -n 和 -N 模式的匹配逻辑,-t 和 -T 的选择,以及 -v、-x、-Z 压缩选项的使用。此外,还提到了 --inserts 和 --column-inserts 选项对于数据恢复的影响,以及 --disable-triggers 在恢复数据时关闭触发器的重要性。了解这些细节可以帮助用户更高效、安全地进行 PostgreSQL 数据库的备份操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pg_dump使用注意事项:
如果同时指定了-n和-N,那么将只转储匹配-n但不匹配-N的模式。如果出现-N而不出现-n,那么匹配-N的模式将不会被转储。

如果同时指定了-t和-T,那么将只转储匹配-t但不匹配-T的模式。如果出现-T而不出现-t,那么匹配-T的模式将不会被转储。

-v或--verbosr:执行过程中打印更详细的信息。使用此选项后,pg_dump将输出详细的对象评注及转储文件的启停时间和 进度信息(输出到标准错误上)。

-x或--no-privileges或--no-acl:禁止转储访问权限(grant/revoke命令)

-Z 0..9或者--compress 0..9:指定要使用的压缩级别,0表示不压缩。对于自定义归档格式,该参数指定压缩的单个表数据段,并且默认用中等水平压缩。对于纯文本输出,设置一个非0的压缩级别会导致全部输出文件被压缩;默认是不压缩。
                             tar归档格式目前完全不支持压缩。
 
--binary-upgrade:这个选项时转为升级工具准备的,它的功能可能会在将来的版本中有所改变,因此不要将其用于其他目的。

--inserts;它像INSERT命令一样转储数据。默认使用COPY命令的格式转储数据,使用这个选项将使恢复非常缓慢。这个选项主要用于把数据加载到非PostgreSQLshujuku .
           该选项为每一行生产一个单独的INSERT命令,当数据库恢复时遇到一行错误时,它将仅导致丢失一行的数据而不是全部的表内容。请注意,若目标表列的顺序与原表的顺序不一样,
  恢复可能会完全失败,这时应该使用--column-inserts选项。
  
--column-inserts或--attribute-inserts:它像有显示列名的INSERT命令一样转储数据(INSERT INTO table(column,...) VALUES...),这将使恢复非常缓慢。主要用于加载到非PostgreSQL的转储。

--disable--triggers:该选项仅对纯文本格式有意义,只和创建仅有数据的转储有关。它告诉pg_dump在恢复数据时,临时关闭目标表上触发器的命令。如果在表上有参照完整性检查或其他触发器,且恢复数据时不想重载他们,那么就应该使用这个选项。
                     目前发出--disable--triggers命令必须是超级用户,执行转储的脚本时,应该用-S执行一个超级用户的名称。
 
--no-tablespaces:这个选项仅对纯文本格式有意义,表示不输出命令来选择表空间。在该选项内,转储期间若表空间是默认的,则将会创建所有的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值