sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur fixar jag Automated Backup script för postgres [Window]?

Din kod bör linda alla sökvägar med dubbla citattecken för att eliminera blanksteg. Tänk på cmd tolkar varje mellanslagsavgränsat arbete som ett nytt kommando. Vi måste undkomma & eftersom det kommer att bli en fysisk operatör i batch, slutligen är det att föredra att använda /d alternativet när du använder cd om du kommer från en annan enhetsbeteckning:

@echo off    
 SET "PGPASSWORD=%Ech0-5910^&123"
 set "root=C:\Program Files (x86)\pgAdmin 4\v3\runtime\"
 cd /d "%root%"
 pg_dump.exe -h 192.168.1.161 -p 5432 -U postgres -F c -b -v -f "D:\Backup\DatabaseBackUp\SQL\123456.backup" testdb

Observera också att du aldrig använder lösenordet i din pg_dump kommando, så du måste tänka på det också. Bästa praxis är att redigera

%APPDATA%\postgresql\pgpass.conf

och lägg till

*:5432:*:username:password

för att automatisera den delen i ditt skript:

@echo off
  echo *:5432:*:postgres:%Ech0-5910^&123>""%APPDATA%\postgresql\pgpass.conf"
  set "root=C:\Program Files (x86)\pgAdmin 4\v3\runtime\"
  cd /d "%root%"
  pg_dump.exe -h 192.168.1.161 -p 5432 -U postgres -F c -b -v -f "D:\Backup\DatabaseBackUp\SQL\123456.backup" testdb

Om dir inte existerar, skapa den "%APPDATA%\postgresql"




  1. Om prestandan kommer att påverka när databasproceduren anropas från programmet många gånger?

  2. Få de tomma posterna med SQL

  3. Gör MySQL:s ORDER BY dynamisk i node.js

  4. FROM_UNIXTIME() Exempel – MySQL