Postgresql pg_dump

摘要:
当经过身份验证的用户缺少pg_转储所需权限时,可以使用此功能切换到具有相应权限的角色。pg_Dump不会转储模式所依赖的其他数据库对象,因此无法保证转储的内容将在另一个干净的数据库中成功恢复。指示对象的所有权未设置为相应源数据库中的所有者-Susername/--superuser=username指定关闭触发器时要使用的超级用户名。默认值不是压缩。tar格式根本不支持压缩。此选项主要用于将数据加载到非postgreSQL中。

pg_dump 命令详解

参数描述
-h

指定服务器名称

-p

指定端口

-U

指定要连接的用户名

-w/--no-password

从不提示密码

-W/--password

强制pg_dump在连接到一个数据库之前提示密码

--role=rolename

该设置会导致在连接到数据库时发布一个set role rolename命令。相当于切换到另一个角色。当以验证的用户缺少pg_dump需要的权限时,可以使用这个功能切换到一个相应权限的角色。

dbname

指定要备份的数据库名

-a/--data-only

这个选项只是对纯文本格式有意义。只输出数据,不输出数据定义的SQL语句。

-b/--blobs

在转储中是否包含大对象。除非指定了选择性转储的选项--schema、--table、--schema-only开关,否则默认会转储大对象。

-c/clean

这个选项只对纯文本格式有意义。指定输出的脚本中是否生成清理该数据库对象语句(如drop table)

-C/--create

这个选项只对纯文本格式有意义。指定脚本中是否输出一条create database语句和连接到该数据库的语句。一般在备份的源数据库与恢复的目标数据库的名称一致时,才指定这个参数。

-E encoding/--encoding=encoding

以指定的字符集编码创建转储。默认转储时依据数据库编码创建的。如果不指定此参数,可以通过设置环境变量$PGCLIENTENCODING达到相同的目的。

-f file/--file=file

输出到指定文件中

-F format/--format=format

选择输出格式:p、c、t

p是plain的意思,为纯文本SQL脚本文件的格式,这是默认

c是custom的意思,以一个适合pg_restore使用的自定格式输出并归档。默认压缩

t是tar的意思。以一个适合输入pg_restore的tar格式输出并归档。tar不支持压缩,对独立表的大小限制为8GB

-n schema/--schema=schema

只转储匹配schema的模式内容,包含模式本身以及其中包含的对象。

可以使用多个-n选项指定多个模式。

pg_dump将不会转储模式所依赖的其他数据库对象,因此无法保证转储出来的内容一定能够在另一个干净的数据库中成功恢复。

非模式对象,比如大对象,不会在指定-n时被转储出来。可以使用--blobs明确要求转储大对象。

-N schema

不转储任何匹配schema的模式内容。匹配规则与-n完全相同,可以指定多个-N

-o/--oids

是否为每个表都输出对象标识。

-O/--no-owner

这个选项只对纯文本格式有意义。表示不把对象的所有权设置为对应源数据库中的owner。

如果这些脚本将来没有被超级用户运行,会导致恢复失败,-O选项就是为了让该脚本可以被任何用户使用。

-s/--schema-only

只输出对象定义(模式),不输出数据。

-S username/--superuser=username

指定关闭触发器时需要用到的超级用户名。它只有在使用了--disable-triggers时才有作用。

一般情况下,最好不要输入这个参数,而是用超级用户启动生成脚本。

-t table/--table=table

只转储出匹配table的表、视图、序列。可以使用多个-t选项匹配多个表。

使用-t之后,-n或-N选项就失效了。

-T table/--exclude-table=table

不转储任何匹配table模式的表。规则与-t相同。

可以指定多个-T用来排除多种匹配表。

-v/--verbose

执行过程中打印更详细的信息

-V/--version

输出pg_dump版本并退出

-x/--no-privileges/--no-acl

禁止转储访问权限(grant/revoke命令)

-Z 0..9/--compress=0..9

指定压缩使用的压缩级别,0表示不压缩。

默认不压缩,tar格式目前完全不支持压缩。

--binary-upgrade 
--insert

像insert命令一样转储数据。

默认使用copy命令格式转储数据。使用这个选项恢复非常缓慢。

这个选项主要是把数据加载到非postgreSQL中。

如果目标表的顺序与源表顺序不一样,恢复可能会完全失败,这是应该使用--column-inserts选项。

--column-inserts/--attribute-inserts

显示列明转出数据,如insert into table(column,...) values ...

--disable-dollar-quoting 
--disable-triggers

这个选项只对纯文本格式有意义。

--lock-wait-timeout=timeout

不要永远等待在开始转储时获取共享表锁。相反,如果不能在指定的timeout时间内中锁住一个表,那么转储会失败。

--no-tablespaces

这个选项只对纯文本格式有意义。

表示不输出命令来选择表空间。

--use-set-session-authorization 

免责声明:文章转载自《Postgresql pg_dump》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JSP:服务器端和前端互传中文信息出现乱码用Visual C++制作微秒级精度定时器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

TXC分布式事务简介

1. TXC是什么TXC(Taobao Transaction Constructor)是阿里巴巴的一个分布式事务中间件,它可以通过极少的代码侵入,实现分布式事务。 在大部分情况下,应用只需要引入TXC Client的jar包,进行几项简单配置,以及以行计的代码改造,即可轻松保证分布式数据一致性。 TXC同时提供了丰富的编程和配置策略,以适应各种长尾的应用...

039.PGSQL-备份和恢复-增量备份-开启wal归档、并设置定时清理备份之后的wal文件

备份: sql转储备份 文件系统级别备份 连续归档-增量备份和基于时间点恢复(PITR) 物理备份:将数据目录,参数文件拷贝出来 逻辑备份:将数据库对象导出到文件 冷备份:数据库关闭情况下 热备份:数据库启动情况下 RTO 恢复时间目标  故障发生到恢复所需时间 RPO 恢复点目标   可容忍丢失多少数据  一、增量备份 定期对数据库做基础备份,再配合WA...

IBatis.Net学习笔记(二)数据库的缓存模式

在IBatis中提供了数据库缓存的模式,可以提高访问效率。对于一些不常更新的表可以直接利用IBatis的缓存方式。要使用IBatis的数据库缓存,只要利用配置文件就可以了,实现起来比较简单:         <select id="GetCachedAccountsViaResultMap"                    resultMa...

MongoDB 分片问题汇总

分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不同的机器上,不需要功能 强大的大型计算机就可以存储更多的数据,处理更大的负载. 使用几乎所有数据库软件都能进行手动分片,应用需要维护与若干不同数据库服务器的连接,...

Hibernate实体对象状态和操作

一、Hibernate对象的状态 瞬态(Transient):当一个对象通过new 操作符创建,并且没有和Hibernate的session关联过,就处于瞬态。瞬态的对象在数据库里没有相应的记录和标识符,和普通Object没有区别。 持久化(Persistent):持久化的实例在数据库有对应的记录和标识符,并且在session的范围内,任何对实例的改动都...

pgsql数据库分页排序问题

order by id desc limit 5;//输出前五行刚开始我以为我写错,后来一问,原来是我在js获取数据的时候少打了空格,所以 where 后面要打空格, "desc " 后面 也要打空格。其实这个分页排序问题还蛮多的。具体的视情况而定。...