PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memanggil perintah psql pg_dump dalam skrip batch

Ini solusinya:

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

Ini akan meminta Anda memasukkan kata sandi untuk setiap dump. Jika Anda tidak ingin dipromosikan, Anda dapat menggunakan Pgpass Berkas .

Semoga membantu.

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. Alih-alih LIKE dan ~, mengapa hanya SIMILAR TO yang berfungsi saat melakukan pencocokan regex dengan alternatif

  2. Tulis anomali Skew di Oracle dan PostgreSQL tidak mengembalikan transaksi

  3. Deklarasikan variabel tipe baris di PL/pgSQL

  4. Mengapa transaksi serializable PostgreSQL menganggap ini sebagai konflik?

  5. Ketika autovacuum tidak vakum