微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 备份与恢复

Postgresql自带一个客户端pgAdmin,里面有个备份,恢复选项,也能对数据库进行备份 恢复(还原),   其实Postgresql内置不少的工具,寻找的备份恢复方案就在其中:pg_dump,psql。  在数据库的安装目录下,如:C:\Program Files\Postgresql\bin文件夹,会看到不少的exe文件,这就是Postgresql内置的工具了。里面会找到 pg_dump.exe,psql.exe两个文件。我们怎么用他们? 用法: 备份数据库,指令如下: pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak 开始-运行-cmd 弹出dos控制台;然后 在控制台里,进入Postgresql安装目录bin下: cd C:\Program Files\Postgresql\9.0\bin 最后执行备份指令:   pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak     恢复数据库 例:c:\pgsql\bin  pg_restore -h localhost -p 5432 -U postgres -d yy_ly -Fc "f:\yy_ly.dump"  -h 服务器地址 -p 端口号 -U 用户 -d 数据库名字 database -F, --format=c|d|t       备份文件格式(应该自动进行)        其中--format=c|d|t    c 代表定制custor   d 代表目录 t 代表 tar 压缩文件 ========================================================   D:\Program Files\pgsql\bin>pg_restore --help pg_restore 从一个归档中恢复一个由 pg_dump 创建的 Postgresql 数据库.   用法:   pg_restore [选项]... [文件名]   一般选项:   -d, --dbname=名字        连接数据库名字   -f, --file=文件名       输出文件名(- 对于stdout)   -F, --format=c|d|t       备份文件格式(应该自动进行)   -l, --list               打印归档文件的 TOC 概述   -v, --verbose            详细模式   -V, --version            输出版本信息, 然后退出   -?, --help               显示此帮助, 然后退出   恢复控制选项:   -a, --data-only              只恢复数据, 不包括模式   -c, --clean                  在重新创建之前,先清除(删除数据库对象   -C, --create                 创建目标数据库   -e, --exit-on-error          发生错误退出, 认为继续   -I, --index=NAME             恢复指定名称的索引   -j, --jobs=NUM               执行多个并行任务进行恢复工作   -L, --use-list=FILENAME      从这个文件中使用指定的内容表排序                                输出   -n, --schema=NAME            在这个模式中只恢复对象   -N, --exclude-schema=NAME    不恢复此模式中的对象   -O, --no-owner               不恢复对象所属者   -P, --function=NAME(args)    恢复指定名字的函数   -s, --schema-only            只恢复模式, 不包括数据   -S, --superuser=NAME         使用指定的超级用户来禁用触发器   -t, --table=NAME             恢复命名关系(表、视图等)   -T, --trigger=NAME           恢复指定名字的触发器   -x, --no-privileges          跳过处理权限的恢复 (grant/revoke)   -1, --single-transaction     作为单个事务恢复   --disable-triggers           在只恢复数据的过程中禁用触发器   --enable-row-security        启用行安全性   --if-exists                  当删除对象时使用IF EXISTS   --no-comments                不恢复注释   --no-data-for-Failed-tables  对那些无法创建的表不进行                                数据恢复   --no-publications            不恢复发行   --no-security-labels         不恢复安全标签信息   --no-subscriptions           不恢复订阅   --no-tablespaces             不恢复表空间的分配信息   --section=SECTION            恢复命名节 (数据前、数据及数据后)   --strict-names               要求每个表和(或)schema包括模式以匹配至少一个实体   --use-set-session-authorization                                使用 SESSION AUTHORIZATION 命令代替                                ALTER OWNER 命令来设置所有权   联接选项:   -h, --host=主机名        数据库服务器的主机名或套接字目录   -p, --port=端口号        数据库服务器的端口号   -U, --username=名字      以指定的数据库用户联接   -w, --no-password        永远不提示输入口令   -W, --password           强制口令提示 (自动)   --role=ROLENAME          在恢复前执行SET ROLE操作   选项 -I, -n, -N, -P, -t, -T, 以及 --section 可以组合使用和指定 多次用于选择多个对象.   示例: D:\Program Files\pgsql\bin>pg_restore -h localhost -p 5432 -U postgres -d yy_ly -Fc "f:\yy_ly.dump"      一、 备份:   导出命令:pg_dump [OPTION]… [dbnAME] 查看使用帮助:pg_dump –help 主要参数解释:   关键字    说明(认值) -h, –host=HOSTNAME    数据库服务器IP -p, –port=PORT    数据库服务器端口号 -U, –username=NAME    用户名 -W, –password    密码 -F, –format=c|t|p    输出文件格式(custom,tar,plain text) -v, –verbose    详细信息模式,会显示备份时的信息 -f, –file=FILENAME    输出文件名 -b, –blobs    在dump文件中包含大对象    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐