概述
SQL转储是创建一个由SQL命令组成的文件,重建与转储时状态一样的数据库,恢复时执行这些命令,从而恢复数据。
PostgreSQL提供了工具pg_dump,基本用法是:
pg_dump dbname > dumpfile
备份:
1 先建个目录,用于存储备份文件
mkdir /home/postgres/bak
2 在/usr/pgsql-14/bin下执行
pg_dump postgres > /home/postgres/bak/postgres
3 查看下转储结果
ll /home/postgres/bak
total 140648
-rw-rw-r--. 1 postgres postgres 144021225 Mar 19 10:58 postgres
成功
恢复
基本用法:psql dbname < dumpfile
1 登录数据库,删除原postgres库
$./psql
#\c abc *先连接其它库
/*删库动作是危险,确认再确认后操作*/
#drop database postgres;
#create database postgres;
#\q
2 恢复
$psql postgres < /home/postgres/bak/postgres
CREATE TABLE
CREATE VIEW
ALTER TABLE
COPY 911201
......
成功
转储全库数据
pg_dump每次只转储一个数据库,而且不会转储角色或表空间。为了支持便捷地转储一个数据库的全部内容。pg_dumpall备份给定集群中的每个表空间定义。保留了集群内的所有数据。基本用法是:
pg_dumpall > dumpfile
如:
./pg_dumpall > /home/postgres/bak/postgres0304 *postgres0304为自定义的备份文件名
查看一下
postgres=>ll /home/postgres/bak -rw-rw-r--. 1 postgres postgres 144029433 Mar 19 11:33 postgres
注意:需要执行 1 登录数据库,删除postgres库,参考上面的操作
全库数据恢复
可以使用psql恢复,用法
psql -f dumpfile dbname
示例:
./psql -f /home/postgres/bak/data0304 postgres
成功!
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




