Câu trả lời:
Nếu bạn đang chạy các tệp này thông qua psql
bạn muốn có lệnh \i
("thực thi các lệnh từ tệp").
xxx.sql:
\i aaa.sql
\i bbb.sql
\i ccc.sql
Nếu bạn chuyển các chương trình này qua một số chương trình khác, bạn sẽ cần phải tự kết hợp các tệp - tôi không tin có bất kỳ cách nào để thực hiện các tệp bên ngoài theo tiêu chuẩn SQL.
Không chính xác những gì bạn đang yêu cầu, nhưng sẽ phục vụ mục đích của bạn: 1) Đặt tất cả các tệp tập lệnh của bạn vào một thư mục; và 2) sử dụng tập lệnh bash để lặp qua các tệp của bạn và chạy psql. Ví dụ:
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
Thực tế điều này tốt hơn một chút vì bạn sẽ không phải nhập tên tệp của mình.