• postgresql 10.3 下的 pg_dump、pg_restore


    pg_dump

    $ which pg_dump
    /usr/pgsql-10/bin/pg_dump
    $ pg_dump --help
    pg_dump dumps a database as a text file or to other formats.
    
    Usage:
      pg_dump [OPTION]... [DBNAME]
    
    General options:
      -f, --file=FILENAME          output file or directory name
      -F, --format=c|d|t|p         output file format (custom, directory, tar,
                                   plain text (default))
      -j, --jobs=NUM               use this many parallel jobs to dump
      -v, --verbose                verbose mode
      -V, --version                output version information, then exit
      -Z, --compress=0-9           compression level for compressed formats
      --lock-wait-timeout=TIMEOUT  fail after waiting TIMEOUT for a table lock
      --no-sync                    do not wait for changes to be written safely to disk
      -?, --help                   show this help, then exit
    
    Options controlling the output content:
      -a, --data-only              dump only the data, not the schema
      -b, --blobs                  include large objects in dump
      -B, --no-blobs               exclude large objects in dump
      -c, --clean                  clean (drop) database objects before recreating
      -C, --create                 include commands to create database in dump
      -E, --encoding=ENCODING      dump the data in encoding ENCODING
      -n, --schema=SCHEMA          dump the named schema(s) only
      -N, --exclude-schema=SCHEMA  do NOT dump the named schema(s)
      -o, --oids                   include OIDs in dump
      -O, --no-owner               skip restoration of object ownership in
                                   plain-text format
      -s, --schema-only            dump only the schema, no data
      -S, --superuser=NAME         superuser user name to use in plain-text format
      -t, --table=TABLE            dump the named table(s) only
      -T, --exclude-table=TABLE    do NOT dump the named table(s)
      -x, --no-privileges          do not dump privileges (grant/revoke)
      --binary-upgrade             for use by upgrade utilities only
      --column-inserts             dump data as INSERT commands with column names
      --disable-dollar-quoting     disable dollar quoting, use SQL standard quoting
      --disable-triggers           disable triggers during data-only restore
      --enable-row-security        enable row security (dump only content user has
                                   access to)
      --exclude-table-data=TABLE   do NOT dump data for the named table(s)
      --if-exists                  use IF EXISTS when dropping objects
      --inserts                    dump data as INSERT commands, rather than COPY
      --no-publications            do not dump publications
      --no-security-labels         do not dump security label assignments
      --no-subscriptions           do not dump subscriptions
      --no-synchronized-snapshots  do not use synchronized snapshots in parallel jobs
      --no-tablespaces             do not dump tablespace assignments
      --no-unlogged-table-data     do not dump unlogged table data
      --quote-all-identifiers      quote all identifiers, even if not key words
      --section=SECTION            dump named section (pre-data, data, or post-data)
      --serializable-deferrable    wait until the dump can run without anomalies
      --snapshot=SNAPSHOT          use given snapshot for the dump
      --strict-names               require table and/or schema include patterns to
                                   match at least one entity each
      --use-set-session-authorization
                                   use SET SESSION AUTHORIZATION commands instead of
                                   ALTER OWNER commands to set ownership
    
    Connection options:
      -d, --dbname=DBNAME      database to dump
      -h, --host=HOSTNAME      database server host or socket directory
      -p, --port=PORT          database server port number
      -U, --username=NAME      connect as specified database user
      -w, --no-password        never prompt for password
      -W, --password           force password prompt (should happen automatically)
      --role=ROLENAME          do SET ROLE before dump
    
    If no database name is supplied, then the PGDATABASE environment
    variable value is used.
    
    Report bugs to <pgsql-bugs@postgresql.org>.

    pg_dump导出,排除一些历史表

    $ pg_dump -U postgres -h 127.0.0.1 -T tmp_1 -b -v -Fc -f /tmp/20180403-tmp_1-lite.back peiybdb 

    快速生成pg_dump语句

    select pd.datname,
           pg_size_pretty(pg_database_size(pd.datname)),
           'pg_dump -U postgres -h 127.0.0.1 -b -v -Fc -f /tmp/20180403-'||pd.datname||'-lite.back '||pd.datname||' > /tmp/20180403-'||pd.datname||'-lite.log'
    from pg_database pd
    where 1=1
    and pd.datname not in (
    'pgbench',
    'postgres',
    'template1',
    'template0'
    )
    order by pg_database_size(pd.datname) desc
    ;

    pg_restore

    $ which pg_restore
    /usr/pgsql-10/bin/pg_restore
    $ pg_restore --help
    pg_restore restores a PostgreSQL database from an archive created by pg_dump.
    
    Usage:
      pg_restore [OPTION]... [FILE]
    
    General options:
      -d, --dbname=NAME        connect to database name
      -f, --file=FILENAME      output file name
      -F, --format=c|d|t       backup file format (should be automatic)
      -l, --list               print summarized TOC of the archive
      -v, --verbose            verbose mode
      -V, --version            output version information, then exit
      -?, --help               show this help, then exit
    
    Options controlling the restore:
      -a, --data-only              restore only the data, no schema
      -c, --clean                  clean (drop) database objects before recreating
      -C, --create                 create the target database
      -e, --exit-on-error          exit on error, default is to continue
      -I, --index=NAME             restore named index
      -j, --jobs=NUM               use this many parallel jobs to restore
      -L, --use-list=FILENAME      use table of contents from this file for
                                   selecting/ordering output
      -n, --schema=NAME            restore only objects in this schema
      -N, --exclude-schema=NAME    do not restore objects in this schema
      -O, --no-owner               skip restoration of object ownership
      -P, --function=NAME(args)    restore named function
      -s, --schema-only            restore only the schema, no data
      -S, --superuser=NAME         superuser user name to use for disabling triggers
      -t, --table=NAME             restore named relation (table, view, etc.)
      -T, --trigger=NAME           restore named trigger
      -x, --no-privileges          skip restoration of access privileges (grant/revoke)
      -1, --single-transaction     restore as a single transaction
      --disable-triggers           disable triggers during data-only restore
      --enable-row-security        enable row security
      --if-exists                  use IF EXISTS when dropping objects
      --no-data-for-failed-tables  do not restore data of tables that could not be
                                   created
      --no-publications            do not restore publications
      --no-security-labels         do not restore security labels
      --no-subscriptions           do not restore subscriptions
      --no-tablespaces             do not restore tablespace assignments
      --section=SECTION            restore named section (pre-data, data, or post-data)
      --strict-names               require table and/or schema include patterns to
                                   match at least one entity each
      --use-set-session-authorization
                                   use SET SESSION AUTHORIZATION commands instead of
                                   ALTER OWNER commands to set ownership
    
    Connection options:
      -h, --host=HOSTNAME      database server host or socket directory
      -p, --port=PORT          database server port number
      -U, --username=NAME      connect as specified database user
      -w, --no-password        never prompt for password
      -W, --password           force password prompt (should happen automatically)
      --role=ROLENAME          do SET ROLE before restore
    
    The options -I, -n, -P, -t, -T, and --section can be combined and specified
    multiple times to select multiple objects.
    
    If no input file name is supplied, then standard input is used.
    
    Report bugs to <pgsql-bugs@postgresql.org>.

    pg_restore导入

    $ pg_restore -h 127.0.0.1 -U peiyb -p 5432  -j 3 -v -d peiybdb /tmp/20180403-peiybdb-lite.back

    快速生成pg_restore语句

    select pd.datname,
           pg_size_pretty(pg_database_size(pd.datname)),
           'pg_restore -h 127.0.0.1 -U peiyb -p 5432  -j 3 -v -d peiybdb /tmp/20180403-'||pd.datname||'-lite.back '||pd.datname||' > /tmp/20180403-'||pd.datname||'-lite.log'
    from pg_database pd
    where 1=1
    and pd.datname not in (
    'pgbench',
    'postgres',
    'template1',
    'template0'
    )
    order by pg_database_size(pd.datname) desc
    ;
  • 相关阅读:
    自定义图标集
    微软Power BI 每月功能更新系列——Power BI 9月版本功能更新全面解读
    使用Power BI中的假设参数控制表视觉中要显示的行数
    如何使用Power Query自动存储最近2年的数据
    vscode-常用快捷键
    微信小程序开发-入门到熟练(wepy-初级篇)
    vscode-函数注释插件-正则插件
    vscode 编写Markdown文件
    wepy-开发总结(功能点)
    常用git命令
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793018.html
Copyright © 2020-2023  润新知