यहाँ एक समाधान है:
@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%
यह आपको प्रत्येक डंप के लिए पासवर्ड इनपुट के लिए संकेत देगा। यदि आप प्रचारित नहीं होना चाहते हैं, तो आप Pgpass का उपयोग कर सकते हैं फ़ाइल ।
आशा है कि यह मदद करता है।
होउरी।