我一直在研究如何使用pg_dump并创建一个批处理文件来备份我的PostgreSQL数据库,因为pgAgent没有出现在我的机器上安装Odoo的pgAdmin 3上。我们都知道在' http://localhost:8069/web/database/manager'中有一种方法可以在其用户界面中备份数据库。我能够使用pg_dump进行备份,但是它给了我一个300%的正常备份大小的文件。是否有人知道命令(pg_dump)我可以输出相同的大小和文件就像Odoo的UI一样?
这是我的批处理文件:
cd\
cd "Program Files\Odoo 9.0-20161004\PostgreSQL\bin"
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
set dbname=WHpingcon_%fullstamp%
pg_dump -h localhost -p 5432 --format c --file "C:/%dbname%.sql" -U openpg --inserts sample
我使用'--inserts'
因为我还需要数据库的整个数据并以正常方式(UI)恢复它。我每次删除' - 插入'当我恢复它时,它会给我一个错误。我检查了文件,它没有逃避特殊字符。谢谢大家!