postgresql pg_restore命令恢复数据库

功能描述

使用pg_restore命令可以从一个归档中恢复一个由pg_dump创建的postgresql数据库

命令语法

pg_restore [选项] [文件]

选项含义

选项含义
-d<数据库名>指定连接的数据库名称
-f<文件名>指定输出文件名
-F<格式>指定备份文件格式,可以是c或t
-v详细模式
-a只恢复数据,不包括模式
-c在重新创建之前,先删除数据库对象
-C创建目标数据库
-n<模式>在这个模式中只恢复对象
-I<索引>恢复指定名称的索引
-O忽略恢复对象所属者
-s只恢复模式,不包括数据
-S<用户名>使用指定的 超级用户来禁用触发器
-t<表>恢复指定名称的表
-P<函数>恢复指定名称的函数
-T<触发器>恢复指定名称的触发器
-x跳过处理权限的恢复
–disable-triggers在只恢复数据的过程中禁用触发器
-h<主机名>数据库服务器的主机名
-p<端口号>数据库服务器端口号
-U<用户名>以指定的用户连接postgresql服务器
-w永远不提示输入口令
-W
强制口令提示
–no-tablespaces不恢复表空间分配信息
-e发生错误退出,默认为继续
-L<文件名>从这个文件中使用指定的内容表排序输出
-l打印归档文件的TOC概述

恢复数据库www(数据库www已经删除的情况下)
[root@linuxlz.com~]# su – postgres
//备份数据库www
-bash-4.1$ pg_dump -Fc www >www.sql

//删除数据库www
-bash-4.1$ dropdb www

//还原数据库www
-bash-4.1$ pg_restore -C -d postgres www.sql

恢复数据库www(数据库www已经存在的情况下)
//以template0数据库为模版创建数据库www
-bash-4.1$ createdb -T template0 www
-bash-4.1$ pg_restore  -d www  www.sql

使用psql命令恢复数据库www
//删除数据库www
-bash-4.1$ dropdb www

//创建数据库www
-bash-4.1$ createdb www

//恢复数据库www
-bash-4.1$ psql  www<www.sql

正文完
 0