逻辑备份与还原

pg_dump.exe逻辑备份

  • 是客户端工具
  • 生成的是标准的sql文件。
  • 可以选择 打包、压缩、自定义格式的不同的输出形式
  • 数据一致的,因为postgresql数据库是mvc特性的

 

与pg_dump.exe输出备份之对应的还原

  • 何种输出就需要何种逆向操作,最终就是要获得标准的sql输入

 

 

pg_dump.exe的选项    pg_dump [选项]... [数据库名字]

  • pg_dump.exe --no-owner  --no-privileges  --create
  • pg_dump.exe --no-owner  --no-privileges  --create  --inserts

一般选项:

  -f, --file=文件名        输出文件名

  -F, --format=c|t|p       输出文件格式 (定制, tar, 明文)

  -i, --ignore-version     当服务器的版本号与 pg_dump 的版本号不匹配时仍继续运行

  -v, --verbose            详细模式

  -Z, --compress=0-9       被压缩格式的压缩级别

  --help                   显示此帮助信息, 然后退出

  --version                输出版本信息, 然后退出


控制输出内容选项:

  -a, --data-only             dump only the data, not the schema  --仅备份数据。用于还原的数据库和备份的数据库结构完全一致时!

  -s, --schema-only           dump only the schema, no data  --仅备份结构。用于生成结构脚本

 

  -c, --clean                 clean (drop) schema prior to create  --重新生成目标表。和--create是不兼容选项。被还原的库应该存在!!

  -C, --create                include commands to create database in dump  --创建数据库,用于创建完全的备份。和--clean是不兼容选项。一般情况下,该选项不起作用!!

 

  -O, --no-owner              skip restoration of object ownershipin plain text format

  -x, --no-privileges         do not dump privileges (grant/revoke)

 

  -t, --table=TABLE           dump the named table(s) only

  -T, --exclude-table=TABLE   do NOT dump the named table(s)

  -n, --schema=SCHEMA         dump the named schema(s) only  --指定要导出的构架

  -N, --exclude-schema=SCHEMA do NOT dump the named schema(s) --指定要排除的构架

 

  -b, --blobs                 include large objects in dump

  -d, --inserts               dump data as INSERT commands, rather than COPY

  -D, --column-inserts        dump data as INSERT commands with column names

  -E, --encoding=ENCODING     dump the data in encoding ENCODING

 

  -o, --oids                  include OIDs in dump


  -S, --superuser=NAME        specify the superuser user name to use in plain text format



  --disable-dollar-quoting    disable dollar quoting, use SQL standard quoting

  --disable-triggers          disable triggers during data-only restore

  --use-set-session-authorization  use SESSION AUTHORIZATION commands instead of    ALTER OWNER commands to set ownership


联接选项:

  -h, --host=主机名        数据库服务器的主机名或套接字目录

  -p, --port=端口号        数据库服务器的端口号

  -U, --username=名字      以指定的数据库用户联接

  -W, --password           强制口令提示 (自动)


如果没有提供数据库名字, 那么使用 PGDATABASE 环境变量

的数值.