PostgreSQL备份恢复一:转储

总体上命令形式如下:

pg_dump -h数据库服务器IP -hpg端口 -U用户名 -W密码 -F *备份文件的格式 -f 备份文件名 要备的数据库
pg_restore  -h数据库服务器IP -hpg端口 -U用户名 -W密码 -d 数据库名 备份文件名

其中数据库服务器IP为本机可以省略,端口为默认端口可以省略

 

常用的对应逻辑备份恢复命令示例如下,这些命令我都试过,可以成功运行:

1
a 备份数据库 beigang
 pg_dump -Ubeigang -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 恢复前先创建用户和数据库,然后执行恢复
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -d beigang beigang_dump.pgdump
 验证
 beigang=# select * from test;
  id | name
 ----+------
   1 | 贝钢
 (1 行记录)
2
a 以custom format备份数据库 beigang
 pg_dump -Ubeigang -F c -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -F c -d beigang beigang_dump.pgdump
3
a 以directory format备份数据库 beigang
 pg_dump -Ubeigang -F d -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 pg_restore -U beigang -F d -d beigang beigang_dump.pgdump
4
a 以plain text format备份数据库 beigang
 pg_dump -Ubeigang -F p -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump.pgdump
5
a 以plain text format备份数据库 beigang 的数据,不包括模式
 pg_dump -Ubeigang -F p -a -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 create schema xxx
  create table test (id numeric ,name varchar(20));
 psql -Ubeigang < beigang_dump
6
a 以plain text format备份数据库 beigang 的模式,不包括数据
 pg_dump -Ubeigang -F p -s -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump
 --只恢复了表定义
7
a 以plain text format备份数据库 beigang 的表test
 pg_dump -Ubeigang -F p -t test -f beigang_dump.pgdump beigang
b 恢复数据库beigang
 create user beigang with superuser createdb createrole password 'beigang';
 create database beigang owner=beigang;
 psql -Ubeigang < beigang_dump
 --只恢复了备份的表
8

a 以plain text备份这个DBMS

 pg_dumpall -Ubeigang -f pgdb.pgdump
b 恢复数据库系统

 psql -Ubeigang < beigang_dump

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值