postgresql 备份恢复

备份恢复

整库备份恢复

# 使用如下命令可对全部pg数据库进行备份。 (备份整个库)       
pg_dumpall –h 127.0.0.1 –p 5432 -U postgres -c -C –f db_bak.sql

# 恢复方式很简单。执行恢复命令即可:
psql –h 127.0.0.1 -p 5432 -U postgres –f db_bak.sql

备份单个库

# 可使用如下命令对名为dbname的数据库进行备份
pg_dump  –h 127.0.0.1  -p  5432  -U  postgres -c  -C -f  dbname.sql  dbname

-s: 只存储结构但是不存储数据
-c: 在创建前,删除 Schema
-C: 在备份文件中含有创建数据库的命令

# 恢复单个库
psql -h 10.0.0.140 -p 5432 -U postgres -f dbname.sql dbname

只备份单个表

pg_dump -U postgres -s -t <tablename> <dbname> -f outdb.sql

-t: 执行表名
1.备份单表操作

 pg_dump -U postgres -h localhost -p 5432 -t staff -f staff.sql yjl(表示数据库名称)

2.恢复数据操作

psql -U postgres -h localhost -p 5432 -d product -f /home/yjl/staff.sql

备份脚本

#!/bin/bash

back_dir='/data/pub/backup'
#date_dir=`date "+%Y%m%d%H%M%S"`
date_dir=`date "+%Y%m%d%H"`
if [ ! -d "${back_dir}/${date_dir}" ]; then
    mkdir "${back_dir}/${date_dir}" -p
    /usr/bin/pg_dumpall -U postgres -h 127.0.0.1 > "${back_dir}/${date_dir}/pg_data.backup"
fi

恢复脚本

#!/bin/bash

pg_user='postgres'
pg_ip='127.0.0.1'

/usr/bin/psql -U ${pg_user} -h ${pg_ip} -p 5432 -f  pg_data.backup


备份单表

-U表示用户

-h表示主机

-p表示端口号

-t表示表名

-f表示备份后的sql文件的名字

-d表示要恢复数据库名称

1.备份单表操作

 pg_dump -U postgres -h localhost -p 5432 -t staff -f staff.sql yjl(表示数据库名称)

2.恢复数据操作

psql -U postgres -h localhost -p 5432 -d product -f /home/yjl/staff.sql

参考链接

https://blog.csdn.net/yinjly/article/details/79286778
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值