sql >> Databáze >  >> RDS >> PostgreSQL

Volání příkazu psql pg_dump v dávkovém skriptu

Zde je řešení:

@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%

Pro každý výpis budete vyzváni k zadání hesla. Pokud nechcete být vyzváni, můžete použít Pgpass Soubor .

Doufám, že to pomůže.

Houari.



  1. SQL dotaz pro převod seznamu čísel shodných s několika rozsahy na seznam hodnot

  2. Zobrazení dat z databáze pomocí PDO

  3. Jak používat pg_dump s připojením uri / url?

  4. Jak připojit R k MySQL? Nepodařilo se připojit k databázi:Chyba:Plugin caching_sha2_password nelze načíst