记录一下PostgreSQL的备份和还原

2023-03-02 10:50:02 浏览数 (1)

工作原因,记录一下PostgreSQL的备份和还原,无他

pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。

pg_dump只转储单个数据库。要备份一个集簇中 对于所有数据库公共的全局对象(例如角色和表空间),应使用 pg_dumpall。

转储可以被输出到脚本或归档文件格式。脚本转储是包含 SQL 命令的纯文本文件,它们可以用来重构数据库到它被转储时的状态。要从这样一个脚本恢复,将它喂给psql。脚本文件甚至可以被用来在其他机器和其他架构上重构数据库。在经过一些修改后,甚至可以在其他 SQL 数据库产品上重构数据库。

另一种可选的归档文件格式必须与pg_restore配合使用来重建数据库。它们允许pg_restore能选择恢复什么,或者甚至在恢复之前对条目重排序。归档文件格式被设计为在架构之间可移植。

当使用归档文件格式之一并与pg_restore组合时,pg_dump提供了一种灵活的归档和传输机制。pg_dump可以被用来备份整个数据库,然后pg_restore可以被用来检查归档并/或选择数据库的哪些部分要被恢复。最灵活的输出文件格式是“自定义”格式(-Fc)和“目录”格式(-Fd)。它们允许选择和重排序所有已归档项、支持并行恢复并且默认是压缩的。“目录”格式是唯一一种支持并行转储的格式。

当运行pg_dump时,我们应该检查输出中有没有任何警告(打印在标准错误上),特别是考虑到下面列出的限制。

备份命令,需要到bin目录下,执行pg_dump

注意,需要录入服务器地址 端口号 数据库名称 和导出的文件名

代码语言:javascript复制
--备份
cd D:PostgreSQL10bin
pg_dump  -h *.*.*.* -p 5432  -d xxxdb -U postgres   -f xxxdb.sql
口令:

还原命令,需要登陆postgres用户,需要输入文件名,客户端预计需要输入IP地址(没尝试)

代码语言:javascript复制
--还原
psql -d tidedb -U postgres -f d:/software/xxxdb.sql

0 人点赞