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

Gọi lệnh psql pg_dump trong tập lệnh lô

Đây là một giải pháp:

@echo off
SET TableListeFile=C:\Users\mtuna\Documents\dumpfiles\database_list.txt

REM Saveing all tables name of database test_db on a temp file: database_list.txt  
psql -U postgres  -d test_db -t -c "SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_type='BASE TABLE'" -o "%TableListeFile%"

REM Loop on liste tables name:
FOR /F "tokens=*" %%I IN (%TableListeFile%) DO (
REM Dump each table on file
pg_dump  -U postgres -h localhost -t %%I test_db > "C:\Users\mtuna\Documents\dumpfiles\%%I.sql"
)
REM Delete temp file
del /Q %TableListeFile%

Nó sẽ nhắc bạn nhập mật khẩu cho mỗi lần kết xuất. Nếu không muốn được quảng cáo, bạn có thể sử dụng Pgpass Tệp .

Hy vọng điều đó sẽ hữu ích.

Houari.



  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 không chấp nhận bí danh cột trong mệnh đề WHERE

  2. lưu trữ hơn 255 ký tự trong Cơ sở dữ liệu PostgreSQL trên heroku

  3. Việc giảm cơ sở dữ liệu có phải được thực hiện không trong bất kỳ giao dịch nào không?

  4. Làm cách nào để so sánh ngày trong các trường datetime trong Postgresql?

  5. Toán tử postgres cho kiểu dữ liệu JSON sử dụng Rails 4