Risposte:
Se si eseguono questi file attraverso psql
si desidera la \i
direttiva ("eseguire i comandi dal file").
xxx.sql:
\i aaa.sql
\i bbb.sql
\i ccc.sql
Se li stai passando attraverso qualche altro programma dovrai combinare i file da solo - non credo che ci sia un modo standard SQL di eseguire file esterni.
Non esattamente quello che stai chiedendo, ma servirà al tuo scopo: 1) Metti tutti i tuoi file di script in una cartella; e 2) utilizzare uno script bash per scorrere i file ed eseguire psql. Per esempio:
SCRIPTS_DIR=/home/myproject/scripts
DATABASE_NAME=database_name
for file in $SCRIPTS_DIR/*.sql
do sudo -u postgres psql $DATABASE_NAME -f $file
done
In effetti, questo è un po 'meglio perché non dovrai digitare i nomi dei tuoi file.
Su una shell bash puoi farlo anche con un semplice find -exec
find sql/ -name *.sql -exec psql -U user -f {} \;
"*.sql"
piuttosto che*.sql