读书人

PostgreSQL备份回复一:转储

发布时间: 2012-08-09 15:59:21 作者: rapoo

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

读书人网 >操作系统

热点推荐