sql >> Databáze >  >> RDS >> PostgreSQL

Jak opravit skript automatického zálohování pro postgres [Window]?

Váš kód by měl zabalit všechny cesty do dvojitých uvozovek, aby se odstranily mezery. Mějte na paměti cmd interpretuje každou práci oddělenou mezerou jako nový příkaz. Musíme escapovat & protože se stane fyzickým operátorem v dávce, nakonec je upřednostňováno použití /d možnost při použití cd v případě, že pocházíte z jiného písmene jednotky:

@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

Všimněte si také, že heslo nikdy nepoužíváte ve svém pg_dump příkaz, takže to musíte také zvážit. Nejlepším postupem je upravit

%APPDATA%\postgresql\pgpass.conf

a přidat

*:5432:*:username:password

pro automatizaci této části ve vašem skriptu:

@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

Pokud dir neexistuje, vytvořte jej "%APPDATA%\postgresql"




  1. Nelze se připojit k databázi mysql?

  2. MySQL vybírá slova v uvozovkách ve sloupci neuspořádaného textu

  3. Znovu nainstalujte Wamp Server bez nahrazení stávající databáze mysql

  4. MYSQL, pokud výběrový dotaz vrátí 0 řádků, pak jiný výběrový dotaz?