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

Jak naprawić skrypt automatycznej kopii zapasowej dla postgres [Okno]?

Twój kod powinien owijać wszystkie ścieżki w podwójne cudzysłowy, aby wyeliminować białe znaki. Pamiętaj o cmd interpretuje każdą pracę oddzieloną spacjami jako nowe polecenie. Musimy uciec przed & ponieważ stanie się fizycznym operatorem w partii, na koniec preferowane jest użycie /d opcja podczas korzystania z cd w przypadku, gdy pochodzisz z innej litery dysku:

@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

Pamiętaj też, że nigdy nie używasz hasła w swoim pg_dump polecenie, więc musisz to również wziąć pod uwagę. Najlepszą praktyką jest edycja

%APPDATA%\postgresql\pgpass.conf

i dodaj

*:5432:*:username:password

aby zautomatyzować tę część w skrypcie:

@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

Jeśli dir nie istnieje, utwórz go "%APPDATA%\postgresql"




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać dynamiczny widok 12 dni roboczych w Postgresql?

  2. F# Połącz SQLProvider z Postgres

  3. Docker, zainstaluj postgresql w kontenerze zawierającym ubuntu:14.04, utracone po wyjęciu z kontenera

  4. Jak Atan2() działa w PostgreSQL

  5. Uciekanie nazw kolumn podobnych do słów kluczowych w Postgres