PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách sao lưu tất cả db bằng pg_dump trong tệp hàng loạt - Postgres

Vui lòng kiểm tra lại kịch bản, tôi thực hiện nó một cách nhanh chóng. Tôi không nhớ -w trên pg_dump là gì. Bằng cách này, bạn sẽ nhận được một tệp cho mỗi db Và theo gợi ý, hãy sử dụng \ thay thế / khi nói về đường dẫn thư mục trên Windows.

@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. Xuất dữ liệu bảng Postgresql bằng pgAdmin

  2. Knex.js buộc sử dụng lại phiên cho 4 truy vấn sau

  3. Đặt nguyên tử giá trị SERIAL khi thực hiện giao dịch

  4. Làm cách nào để đặt '5 ngày' (khoảng thời gian ngày tháng) trong jdbc cho PostgreSQL?

  5. Lịch sử triển khai của bảng PostgreSQL