PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wykonać kopię zapasową wszystkich db przez pg_dump w pliku wsadowym - postgres

Proszę ponownie sprawdzić notatkę, robię to w locie. Nie pamiętam, co to jest -w na pg_dump. W ten sposób uzyskasz plik dla każdej bazy danych. A jako sugestię użyj \ zamiast /, gdy mówisz o ścieżkach folderów w systemie Windows. Wybacz mój angielski.

@echo off

set BASELOG=LOG
set BACKUPDIR=C:/postgres/backups/
set BACKUPDIR2=C:\postgres\backups
set PGHOST=localhost
set PGUSER=postgres
set PGBIN="C:/Program Files/PostgreSQL/9.3/bin/"
set FILELOG=log.txt

set BACKUPDIRDATE="%BACKUPDIR%%date%/"
for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
 set dow=%%i
 set month=%%j
 set day=%%k
 set year=%%l
)
if not exist %BACKUPDIRDATE% mkdir %BACKUPDIRDATE%

(

if exist dbs.lst del dbs.lst
psql -h %PGHOST% -p 5432 -U %PGUSER% -c "SELECT datname FROM pg_database WHERE datistemplate = false;" -o "dbs.lst"

for /f %%a IN (dbs.lst) DO (

    echo Backup start %date%  %time%
    %PGBIN%pg_dump -w -i -h %PGHOST% -U %PGUSER% -F c -b -v -f "%BACKUPDIRDATE%-%%a.compressed" %%a
    echo End of backup %BASELOG%

)

FORFILES /p %BACKUPDIR2% /s /D -7 /C "cmd /c rd /S /Q @path"
echo Files are deleted
 )>> %BACKUPDIRDATE%%FILELOG% 2>&1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego otrzymuję nieprawidłową składnię wejściową dla typu integer w postgresql podczas importowania pliku CSV?

  2. Presto SQL :Zmiana stref czasowych za pomocą ciągu stref czasowych w wyniku zapytania nie działa

  3. Zastępowanie sekwencji liczbą losową

  4. Połącz dwa obiekty JSON w PostgreSQL

  5. Najnowsze trendy PostgreSQL:najbardziej czasochłonne zadania i ważne wskaźniki do śledzenia