windows下postgresql数据库备份和还原
7/22/2025 2:25:29 AM
18
0
注意:文件路径上必须使用双引号
一、备份
1、通过cmd进入数据库的bin目录
cd C:\Program Files\PostgreSQL\9.6\bin
实际操作中使用管理员命令行窗口即可,无需进入特定目录
2、执行pg_dump备份命令,localhost 或者IP
pg_dump -h host -p port -U username -d dbname -f "D:\back\dbname.bck"
执行完后,会提醒输入口令,就是要输入密码
- -U username:指定连接数据库的用户名(默认是 postgres)。
- -Fc:备份为压缩的二进制格式(通常更快且占用空间更少)
- -h hostname:指定 PostgreSQL 数据库服务器的主机名(如果是本地数据库可以省略)。
- -p port:指定连接的端口号(默认是 5432)。
- -d dbname:指定要备份的数据库名称。
- -F p:指定输出格式为纯文本(SQL 格式)。其他格式有 c(自定义格式)和 t(tar 格式)。
- -f backup.sql:指定备份文件的输出路径。
二、还原
pg_restore -U 用户名 -h hostname -p port -d 数据库名 -1 备份文件名
- -U 指定数据库用户名(默认是 postgres)。
- -h hostname:指定 PostgreSQL 数据库服务器的主机名(如果是本地数据库可以省略)。
- -p port:指定连接的端口号(默认是 5432)。
- -d 指定要还原到的数据库名。
- -1 表示将整个还原过程视为单个事务(可选)。
- 备份文件名 是您的备份文件的完整路径和名称。
三、查询进度
通过在数据库的查询工具中查询 pg_stat_progress_copy
来间接了解备份 / 还原数据库的进度。
当查询内容为空时,就说明备份结束或者是还原结束了。
SELECT * FROM pg_stat_progress_copy;
全部评论