• Postgresql pg_dump


    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  
  • 相关阅读:
    创建新进程,就三个函数CreateProcessAsUser CreateProcessWithLogonW CreateProcessWithTokenW(附网友的流程)
    一个简单的以User权限启动外部应用程序(用NetUserAdd函数和USER_INFO_1结构体动态添加用户,然后用CreateProcessWithLogonW启动程序)good
    将EXE作为资源,然后在释放到磁盘上并运行该exe程序(使用了FindResource,LoadResource,然后用CFile写成一个文件)
    CreateProcess启动隐藏的外部程序(其实就是CreateDesktop,然后指定STARTUPINFO.lpDesktop)
    封装业务函数
    SQLSERVER 数据库性能的的基本 MVC + EF + Bootstrap 2 权限管理
    Nutch搜索引擎Solr简介及安装
    C#程序的157个建议
    利用XCode来进行IOS的程序开发
    C#操作JSON
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/11114058.html
Copyright © 2020-2023  润新知