PgSQL如何用cmd命令行备份和还原数据库
一、备份
备份为压缩的二进制格式(通常更快且占用空间更少)
pg_dump -U username -Fc -h hostname -p port -d dbname -F p -f backup.sql
- -U username:指定连接数据库的用户名(默认是 postgres)。
- -Fc:备份为压缩的二进制格式(通常更快且占用空间更少)
- -h hostname:指定 PostgreSQL 数据库服务器的主机名(如果是本地数据库可以省略)。
- -p port:指定连接的端口号(默认是 5432)。
- -d dbname:指定要备份的数据库名称。
- -F p:指定输出格式为纯文本(SQL 格式)。其他格式有 c(自定义格式)和 t(tar 格式)。
- -f backup.sql:指定备份文件的输出路径。
例如,如果您的用户名是
postgres
,数据库名是TUser
,备份文件位于D:\backup\TUser.sql
,则命令应该是:pg_dump -U postgres -Fc -h 127.0.0.1 -p 5432 -d TUser -F p -f "D:\\backup\\TUser.sql"
注意路径是"D:\\backup\\TUser.sql" 或者 "D:/backup/TUser.sql"
二、还原
pg_restore -U 用户名 -h hostname -p port -d 数据库名 -1 备份文件名
-U
指定数据库用户名(默认是 postgres)。- -h hostname:指定 PostgreSQL 数据库服务器的主机名(如果是本地数据库可以省略)。
-p port:指定连接的端口号(默认是 5432)。-d
指定要还原到的数据库名。-1
表示将整个还原过程视为单个事务(可选)。备份文件名
是您的备份文件的完整路径和名称。例如,如果您的用户名是
postgres
,数据库名是demo01
,备份文件位于D:\backup\TUser.sql
,则命令应该是:pg_restore -U postgres -h 127.0.0.1 -p 5432 -d demo01 -1 "D:\\backup\\TUser.sql"