sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan rettes Automated Backup script til postgres [Window]?

Din kode skal indpakke alle stier i dobbelte anførselstegn for at eliminere mellemrum. Husk cmd fortolker hvert rumafgrænset værk som en ny kommando. Vi er nødt til at undslippe & da det vil blive en fysisk operatør i batch, til sidst foretrækkes det at bruge /d mulighed, når du bruger cd hvis du kommer fra et andet drevbogstav:

@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

Bemærk også, at du aldrig bruger adgangskoden i din pg_dump kommando, så det skal du også overveje. Bedste praksis er at redigere

%APPDATA%\postgresql\pgpass.conf

og tilføje

*:5432:*:username:password

for at automatisere den del i dit script:

@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

Hvis dir eksisterer ikke, opret den "%APPDATA%\postgresql"




  1. Kan ikke kopiere forudoprettet db fra aktiver

  2. ModuleNotFoundError:Intet modul med navnet 'mysql'

  3. Brug Moodle til at oprette brugere og tilmelde dem til kurser via SQL

  4. oprette tabel med vælg union har ingen begrænsninger