sql >> データベース >  >> RDS >> PostgreSQL

バッチスクリプトでpsqlpg_dumpコマンドを呼び出す

    解決策は次のとおりです:

    @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を使用できます。ファイル

    お役に立てば幸いです。

    ホウアリ。



    1. 時間(タイムゾーン付き)が指定された時間範囲内にあるかどうかを確認します

    2. MySQL:1970年より前の日付

    3. JPA Criteria APIを使用してPostgreSQL配列列をフィルタリングするにはどうすればよいですか?

    4. mysqldumpで特定のテーブルをスキップする