Advertisement
Guest User

Untitled

a guest
Apr 21st, 2016
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. @echo off
  2.  
  3. setlocal
  4.  
  5. set year=%date:~6,4%
  6. set month=%date:~3,2%
  7. set day=%date:~0,2%
  8. set backup_path=D:\backup\postgres
  9. set pg_sql=C:\"Program Files"\PostgreSQL\9.4.2-1.1C\bin\psql.exe
  10. set pg_dump=C:\"Program Files"\PostgreSQL\9.4.2-1.1C\bin\pg_dump.exe
  11. set pg_host="localhost"
  12. set pg_port=5432
  13. set pg_username="postgres"
  14. set pg_password="postgres"
  15. set pg_role="postgres"
  16. set pg_sql_databases_list="select array_to_string(array(select datname from pg_database where datname not in ('template0','template1','postgres') order by datname), ',')"
  17. set databases=
  18.  
  19. IF NOT "%databases%"=="" goto :databasespars
  20.  
  21. FOR /F "usebackq" %%a IN (`%pg_sql% -t -U %pg_username% -c %pg_sql_databases_list%`) DO (
  22. set databases=%%a
  23. )
  24.  
  25. :databasespars
  26.  
  27. call :parse "%databases%"
  28.  
  29. goto :eos
  30.  
  31. :parse
  32.  
  33. set list=%1
  34. set list=%list:"=%
  35.  
  36. FOR /f "tokens=1* delims=," %%a IN ("%list%") DO (
  37. if not "%%a" == "" call :sub %%a
  38. if not "%%b" == "" call :parse "%%b"
  39. )
  40.  
  41. goto :eos
  42.  
  43. :sub
  44.  
  45. %pg_dump% --host %pg_host% --port %pg_port% --username %pg_username% --role %pg_role% --no-password --format custom --blobs --compress 9 --encoding UTF8 --file "%backup_path%\%1-%day%-%month%-%year%.backup" %1
  46.  
  47. goto :eos
  48.  
  49. :eos
  50. endlocal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement