PostgreSQL的备份
系统环境:window10
PostgreSQL的版本:11
工具一:备份数据库的工具Pg_dump
pg_dump的使用语法:pg_dump [option...] [dbname]
1、备份单个数据库中的所有表
1.1 备份
语法格式:pg_dump -U postgres -f 路径 数据库名称
例子:pg_dump -U postgres -f D:\demo_backup test
说明:备份的路径为D:\demo_backup,备份的数据库名称为test。
2、备份数据库中指定的数据表
2.1 备份
语法格式:pg_dump -t 表名称1 -t 表名称2 ... -f 路径 数据库名称
例子:pg_dump -U postgres -t tb_demo1 -t tb_demo2 -f D:\demo_backup test
说明:tb_demo1表述表名称1,tb_demo2表述表名称2,多个表名之间用-t空格隔开。
2.2 还原
语法格式:psql -d 数据库名称 -U postgres -f 备份文件的路径
例子:psql -d test -U postgres -f D:\demo_backup
说明:test为数据库名称,D:\demo_backup为当时备份的文件路径
工具二:备份整个服务器的数据库的工具Pg_dumpall
3.备份整个服务器中的所有数据库
3.1 备份
语法格式:pg_dumpall -U postgres -f 路径
例子:pg_dumpall -U postgres -f D:\demo_all_backup
PostgreSQL的还原
1、使用了pg_dump备份且备份包含CREATE、INSERT语句的文本文件,可以使用psql导入到数据库中。
2、pg_restore可以还原由pg_dump创建的备份文件,它会发出重新生成包括数据在内的用户定义类型、函数、表、索引和操作符的所有必要的命令。
例子:pg_restore -d test -U postgres -C D:\demo_backup
说明:test为数据库名称,D:\demo_backup为需要还原的备份文件的路径。