PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách khắc phục tập lệnh Sao lưu tự động cho postgres [Window]?

Mã của bạn nên đặt tất cả các đường dẫn trong dấu ngoặc kép để loại bỏ khoảng trắng. Hãy ghi nhớ cmd diễn giải mỗi công việc được phân cách bằng dấu cách như một lệnh mới. Chúng ta cần thoát khỏi & vì nó sẽ trở thành toán tử vật lý theo lô, cuối cùng nó được ưu tiên sử dụng /d tùy chọn khi sử dụng cd trong trường hợp bạn đến từ một ký tự ổ đĩa khác:

@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

Cũng lưu ý, bạn không bao giờ sử dụng mật khẩu trong pg_dump của mình lệnh, vì vậy bạn cũng cần phải xem xét điều đó. Thực tiễn tốt nhất là chỉnh sửa

%APPDATA%\postgresql\pgpass.conf

và thêm

*:5432:*:username:password

để tự động hóa phần đó trong tập lệnh của bạn:

@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

Nếu dir không tồn tại, hãy tạo nó "%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. Làm thế nào để truy cập thủ tục trả về con trỏ setof từ PostgreSQL trong Java?

  2. Làm thế nào để bạn trích dẫn chuỗi trong Postgres

  3. Bắt đầu với PostgreSQL Streaming Replication

  4. java enum và postgresql enum

  5. Đối số thứ hai trong hàm array_length () là gì?