在Windows中使用.bat备份Postgresql

时间:2017-01-21 14:12:17

标签: postgresql batch-file backup

我想在Windows上使用.bat文件创建一个postgresql数据库备份

我尝试使用此代码:

@echo off
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
  set dow=%%i
  set month=%%j
  set day=%%k
  set year=%%l
)
set datestr=%month%_%day%_%year%
echo datestr is %datestr%

set BACKUP_FILE=odoo_%datestr%.backup
echo backup file name is %BACKUP_FILE%
SET PGPASSWORD=openpgpwd
echo on
bin\pg_dump -i -h localhost -p 5432 -U openpg -F c -b -v -f %BACKUP_FILE% formation

但我一无所获。

使用此代码:

@echo off
SET PG_BIN="C:\Program Files\OpenERP 7.0-20150818\PostgreSQL\bin\pg_dump.exe"
SET PG_HOST=localhost
SET PG_PORT=5432
SET PG_DATABASE=formation
SET PG_USER=openpg
SET PG_PASSWORD=openpgpwd
SET PG_PATCH=D:\odoo
SET FECHAYHORA=%date:/=%-%time:-0,8%
SET FECHAYHORA=%FECHAYHORA::=-%
SET FECHAYHORA=%FECHAYHORA: =0%
SET PG_FILENAME=%PG_PATH%\%PG_DATABASE%-%FECHAYHORA%.sql
%PG_BIN% - i -h %PG_HOST% -p %PG_PORT% -U %PG_USER% %PG_DATABASE% > %PG_FILENAME%

我有同样的问题。

我想稍后在Windows任务计划程序中使用它。

2 个答案:

答案 0 :(得分:2)

您的脚本无法正常工作也就不足为奇了,因为它们包含了所有错别字。我没有声称我发现了所有这些,但这里列出了我发现的那些:

第一个脚本:

  • -i没有选项pg_dump

第二个脚本:

  • -i中存在虚假空间,但由于该选项不存在且会导致错误,因此应将其删除。

  • 您设置PG_PATCH并引用PG_PATH

  • PG_PASSWORD无法识别环境变量libpq。删除下划线。

如果您阅读了毫无疑问的错误消息,您可以弄明白这一切。您还应该在这样的问题中包含此类错误消息。

答案 1 :(得分:0)

这个答案由作者提供:

  

我认为这是所有人的解决方案:

window.addEventListener('load', function() {
    // your code here
})