PostgreSQL数据库备份与恢复之pg_dump简单体验
PostgreSQL数据库的简单导入、导出操作体验,操作还是非常简单易用的。当然该工具还提供了众多的参数,以供不同的情景下使用,在此我们只做最简单的导出和导入操作。
创建测试用表:
postgres=# \c music
您现在已经连线到数据库 "music",用户 "postgres".
music=# create table test(ID int);
CREATE TABLE
music=# insert into test values(1);
INSERT 0 1
music=# insert into test values(2);
INSERT 0 1
music=# insert into test values(3);
INSERT 0 1
验证数据插入成功:
music=# select * from test;
id
----
1
2
3
(3 行记录)
music=# \d
关联列表
架构模式 | 名称 | 型别 | 拥有者
----------+------+--------+----------
public | test | 资料表 | postgres -------查看表信息
(1 行记录)
备份数据库:
-bash-3.2$ pg_dump music >/tmp/music.dmp
查看备份:
-bash-3.2$ cd /tmp/
-bash-3.2$ ls
db2.tmp.5072 dmp keyring-BJJFsF mapping-root music.dmp PostgreSQL9.4_PACK scim-panel-socket:0-root vmware-tools-distrib
删除数据库:
postgres=# drop database music;
DROP DATABASE
postgres=# \l
资料库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 行记录)
从上面信息看,music数据库已删除!~~~
恢复数据库:
postgres=# create database music;
CREATE DATABASE
开始恢复:
$ psql music </tmp/music.dmp
SET
SET
SET
SET
SET
SET
CREATE EXTENSION
COMMENT
SET
SET
SET
CREATE TABLE
ALTER TABLE
COPY 3
REVOKE
REVOKE
GRANT
GRANT
-bash-3.2$
-bash-3.2$
-bash-3.2$ psql
psql (9.4.0)
输入 "help" 来获取帮助信息.
验证是否恢复数据库:
postgres=# \l
资料库列表
名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限
-----------+----------+----------+-------------+-------------+-----------------------
music | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
postgres | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 |
template0 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 行记录)
连接数据库:
postgres=# \c music
您现在已经连线到数据库 "music",用户 "postgres".
music=# \d
关联列表
架构模式 | 名称 | 型别 | 拥有者
----------+------+--------+----------
public | test | 资料表 | postgres ---表已恢复过来!
(1 行记录)
验证是否已把数据恢复过来:
music=# select * from test; ----查看数据存在否
id
----
1
2
3
(3 行记录)
恢复成功!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。