postgresql PSQL转储文件的大小差异很大

x6h2sr28  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(243)

我有一个运行的Django应用程序和一个PSQL数据库。我使用以下命令每天备份数据库:
pg_dump -U postgres -h localhost db_name >>“C:\Users\User\Documents\backup_%date:~-4%%date:~ 3,2%%date:~ 0,2%__ % time:~ 0,2%* %time:~ 3,2%* %time:~ 6,2%.sql”
我每天都使用Windows Scheduler执行此命令,问题是它在3-4天内完美地生成一个大约45 MB的文件,然后它在3-4天内生成一个120 MB的文件,然后它跳到200 MB,直到我重新启动服务器,然后它返回到生成45 MB的文件。
注意:45 mb可以正确恢复,但其他文件不能正常工作,他们只恢复了我的数据库中所有数据的20%。
我对PSQL不是很熟悉,我没有在网上找到任何关于这个问题的东西。
谢谢!

pn9klfpd

pn9klfpd1#

pg_dump -U postgres -h localhost db_name >> "C:\Users\User\Documents\Dump.sql"

这个命令是创建文件时,它第一次运行和下一次运行,而不是用一个新的文件替换文件,它是添加另一个完整的转储与旧的内容,因为你正在使用'>>'.该sql将是无效的,不可恢复,而且文件大小将增加。
要解决这个问题,请使用单一的'>',并且在开始时,如果你不想失去它,你可以重命名旧文件。例如:

pg_dump -U postgres -h localhost db_name > "C:\Users\User\Documents\Dump.sql"

相关问题