[英]Backup Postgresql with .bat in windows
我想在 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 任務計划程序中使用它。
這個答案由作者提供:
我認為這是所有人的解決方案:
@echo Backup database %PG_PATH%%PG_FILENAME%
@echo off
SET PG_BIN="C:\Program Files\PostgreSQL\bin\pg_dump.exe"
SET PG_HOST=localhost
SET PG_PORT=5432
SET PG_DATABASE=motor_8
SET PG_USER=openpg
SET PG_PASSWORD=openpgpwd
SET PG_PATH=C:\OEM
SET FECHAYHORA=%date:/=%-%time:-0,8%
SET FECHAYHORA=%FECHAYHORA::=-%
SET FECHAYHORA=%FECHAYHORA: =0%
SET PG_FILENAME=%PG_PATH%\%PG_DATABASE%_%d%_%t%.sql
%PG_BIN% -h %PG_HOST% -p %PG_PORT% -U %PG_USER% %PG_DATABASE% > %PG_FILENAME%
@echo Backup Taken Complete %PG_PATH%%PG_FILENAME%
您的腳本不起作用並不奇怪,因為它們到處都是拼寫錯誤。 我並沒有聲稱我找到了所有這些,但這里列出了我確實發現的那些:
第一個腳本:
pg_dump
沒有選項-i
。第二個腳本:
-i
有一個虛假空格,但由於該選項不存在並且會導致錯誤,因此應將其刪除。
您設置PG_PATCH
並引用PG_PATH
。
libpq
無法識別環境變量PG_PASSWORD
。 去掉下划線。
如果您閱讀了毫無疑問得到的錯誤消息,您就可以弄清楚所有這些。 您還應該始終在此類問題中包含此類錯誤消息。
批處理文件無法獲取數據。 大小顯示0kb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.