PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да коригирам скрипта за автоматизирано архивиране за postgres [Window]?

Вашият код трябва да увие всички пътища в двойни кавички, за да елиминира празното пространство. Имайте предвид cmd интерпретира всяка разделена с интервал работа като нова команда. Трябва да избягаме от & тъй като ще стане физически оператор в пакет, накрая се предпочита да се използва /d опция при използване на cd в случай че идвате от друга буква на устройство:

@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

Също така имайте предвид, че никога не използвате паролата във вашия pg_dump команда, така че трябва да вземете предвид и това. Най-добрата практика е да редактирате

%APPDATA%\postgresql\pgpass.conf

и добавете

*:5432:*:username:password

за да автоматизирате тази част от вашия скрипт:

@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

Ако dir не съществува, създайте го "%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. Извличане на коментари от PostgreSQL DB

  2. Как да използвам case-when в Ecto Queries в elixir?

  3. Как да използвате функцията date_part за разделяне на стойност на месец за всеки ден и държава

  4. Подвижен брой редове в интервал от време

  5. Защо SELECT без колони е валиден