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的更多相关文章

  1. [转帖]PostgreSQL pg_dump&psql 数据的备份与恢复

    PostgreSQL pg_dump&psql 数据的备份与恢复   https://www.cnblogs.com/chjbbs/p/6480687.html 文章写的挺好 今天试了下 挺不 ...

  2. PostgreSQL pg_dump pg_dumpall and restore

    pg_dump dumps a database as a text file or to other formats. Usage: pg_dump [OPTION]... [DBNAME] Gen ...

  3. (转)PostgreSQL pg_dump&psql 数据的备份与恢复

    转自:https://www.cnblogs.com/chjbbs/p/6480687.html Usage:   pg_dump [OPTION]... [DBNAME] 数据库名放最后,不指定默认 ...

  4. PostgreSQL pg_dump&psql 数据的备份与恢复

    Usage:   pg_dump [OPTION]... [DBNAME] 数据库名放最后,不指定默认是系统变量PGDATABASE指定的数据库. General options:(一般选项)   - ...

  5. Postgresql pg_dump 与 pg_restore 使用举例

    pg_dump备份 备份本地osdb数据库,全备份,不需要密码 pg_dump osdb > osdb.sql 备份远程osdb数据库 pg_dump -h 192.168.122.1 -Uos ...

  6. PostgreSQL 9.1 飞升之路

    PostgreSQL upgrade 以升级 PostgreSQL 9.1 至 PostgreSQL 11 (跨越 9.2.9.3.9.4.9.5.9.6.10 六个大版本) 为例,本文将分享一下过去 ...

  7. GreenPlum 大数据平台--非并行备份(六)

    一,非并行备份(pg_dump) 1) GP依然支持常规的PostgreSQL备份命令pg_dump和pg_dumpall 2) 备份将在Master主机上创建一个包含所有Segment数据的大的备份 ...

  8. pg_dump实例详解(备份postgresql和greenplum数据库)

    一.pg_dump的用法:数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump ...

  9. pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。

    SYNOPSIS pg_restore [ option...] [ filename] DESCRIPTION 描述 pg_restore 是一种用于恢复由 pg_dump(1) 创建的任何非纯文本 ...

随机推荐

  1. 用mkdocs在gitee码云上建立一个简单的文档博客

    利用mkdocs建立简单的文档博客 一.概述 MkDocs 是一个用于创建项目文档的 快速, 简单 , 完美华丽 的静态站点生成器. 文档源码使用 Markdown 来撰写, 用一个 YAML 文件作 ...

  2. Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)

    Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)   目的: 当时在安装Qt时,有些组件暂时没用着,然后过一段时间后,需要用到某些该组件时,不用删掉重新再安装. 操作: Wind ...

  3. jvm--工具

    jps (java process status) == ps / top 作用:显示所有运行中的java进程. jstat 作用:查看类装载,内存,垃圾收集,jit编译的信息. jinfo 作用:实 ...

  4. netty--处理器

    编解码器的基类: 编码:MessageToByteEncode 解码:ByteToMessageDecoder

  5. P1777 帮助_NOI导刊2010提高(03)

    也许更好的阅读体验 \(\mathcal{Description}\) Bubu的书架乱成一团了!帮他一下吧! 他的书架上一共有n本书.我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30 ...

  6. MyBatis整合Spring+SpringMVC搭建一个web项目(SSM框架)

    本文讲解如何搭建一个SSM架构的web站点 [工具] IDEA.SqlYog.Maven [简述] 该项目由3个模块组成:dao(数据访问层).service(业务处理层).web(表现层) dao层 ...

  7. jQuery控制页面滚动条上下滚动

    .向上滚动  $(); .向下滚动   $(); 参数解读:$(this)表示要实现上下滚动的对象,-50表示向上滚动50px , +50表示向下滚动50px ,1000表示滚动速度

  8. linux的scp命令可以在linux服务器之间复制文件和目录

    scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...

  9. Linux添加vsftp账户和设置目录权限

    改变store下面的所有.php文件属主为ftpd[root@www ~]# chgrp ftpd /store/*.php[root@www ~]# chown ftpd /store/*.php ...

  10. SqlServer2008 / SqlServer2012 禁用windows登录,sa忘记密码或密码过期如何登陆

    以管理员身份运行cmd 1.cmd 下  停止SqlServer服务,net stop mssqlserver: 2.新建windows账号test,加入administrators组里,授予管理员权 ...