Welcome friends to leave messages. But please do not send advertising information, it is useless. I don't have money to pay

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;

全部评论



提问