linux postgres恢复数据库,Linux下PostgreSql备份和恢复

1. 环境

OS版本:centos 6.9

数据库版本:postgreSql 9.6.3

2. 备份数据库

进入postgreSql安装目录的bin文件夹下,使用pg_dump工具进行备份。

a. 备份整个数据库

//导出表结构和数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -f ~/mydb_20180503.sql

//导出表结构和数据(含drop table之类的语句)

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -c -f ~/mydb_20180503.sql

//只导出表结构

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -s -f ~/mydb_20180503.sql

//只导出数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -a -f ~/mydb_20180503.sql

b. 备份指定模式下的数据

//导出表结构和数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -n schema1 -f ~/mydb_20180503.sql

//导出表结构和数据(含drop table之类的语句)

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -n schema1 -c -f ~/mydb_20180503.sql

//只导出表结构

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -n schema1 -s -f ~/mydb_20180503.sql

//只导出数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -W -d mydb -n schema1 -a -f ~/mydb_20180503.sql

c. 备份指定的表

//导出表结构和数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -d mydb -t schema1.t_web -f web.sql

//只导出表结构

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -d mydb -t schema1.t_web -s -f web.sql

//只导出数据

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -d mydb -t schema1.t_web -a -f web.sql

//表名含大小写(包括全大写)的情况

./pg_dump -h 192.168.1.16 -p 5432 -U sa -O -d mydb -t schema1.\"t_Web\" -f web.sql

d. 参数详情:

-h: 数据库IP(192.168.1.16)

-p: 数据库端口(5432)

-U: 用户名(sa)

-O: 导出文件不指定owner(无值)

-W: 需要输入密码(无值。貌似不添加该项仍然需要输入密码)

-c: 导出表结构时,会包含drop table之类语句

-s: 只导出表结构(无值。如果要导出数据,不要设置该选项)

-a: 只导出数据(无值。如果要导出建表语句等,不要设置该选项)

-d: 数据库名(mydb)

-n: 模式名(schema1。不添加该项则表示所有模式都备份)

-f: 导出文件路径和名称(~/mydb_20180503.sql)

-t: 表名(schema1.t_web。如果不输入模式名,一般默认模式为public)

3. 恢复数据库

进入postgreSql安装目录的bin文件夹下,使用psql工具进行数据恢复。

a. 如果恢复数据存在模式改变(不存在则忽略此步骤)

修改备份文件,指定新模式名和所属用户。

打开备份文件mydb_20180503.sql,找到以下几行,将模式schema1和用户sa分别修改成新的模式名和用户名。如果导出的时候添加了-O选项,则备份文件里面没有OWNER。

CREATE SCHEMA schema1 ;

ALTER SCHEMA schema1 OWNER TO sa;

SET search_path = schema1 , pg_catalog;

b. 导入备份文件

./psql -h 192.168.1.17 -p 5432 -U sa2 -d mydb2 -W -f ~/mydb_20180503.sql

c. 参数详情:

参考上文pg_dump。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值