it-swarm.asia

Sumber beberapa file sekaligus dengan psql

Saya ingin menjalankan beberapa skrip sql secara berurutan dengan psql sebagai satu transaksi untuk mengatur skema basis data saya. Apa cara terbaik untuk melakukan ini? Di masa lalu saya tahu saya memiliki skrip master yang saya jalankan psql terhadap yang termasuk file lain namun saya tidak ingat sintaksis skrip ini.

27
xenoterracide

Script Anda dapat terlihat seperti ini:

BEGIN;
\i file1.sql
\i file2.sql
COMMIT;

Atau Anda dapat melakukan sesuatu seperti ini:

cat file1.sql file2.sql | psql -1 -f -
32
Peter Eisentraut

Saya melakukannya menggunakan find di unix/linux dengan path ke file sql past dengan parameter rep_sql dengan instruksi "read":

find -P ${rep_sql} -type f -name *.sql -execdir psql -d "mabase" -f {} +

Dikatakan: temukan tidak mengikuti file tautan apa pun nama dengan ext sebagai ".sql" dan jalankan di direktori file psql bekerja dengan mabase dan jalankan file yang ditemukan.

0
Deun