2016-12-12 3 views
0

У меня есть несколько файлов, которые нужно запускать в базе данных postgres. Они хранятся в виде отдельных файлов по причинам обслуживания и управления конфигурацией. Я использую этот тип метода, чтобы запустить ихКак загружать файлы Postgres

acro =# \i ./psql.sql 
acro =# \i ./psql.function1.sql 
acro =# \i ./psql.function2.sql 
acro =# \i ./psql.function3.sql 
acro =# \i ./psql.function4.sql 

и т.д.

Есть ли способ партии этих команд или эти имена файлов, так что они могут работать как единая интерактивная команда?

Благодаря

+0

'cat psql.sql psql.function1.sql psql.function2.sql | psql' – Abelisto

+0

Спасибо за предложение. – MHugh

ответ

1

Вы можете просто создать файл batch.sql который выглядит следующим образом:

\i ./psql.sql 
\i ./psql.function1.sql 
\i ./psql.function2.sql 
\i ./psql.function3.sql 
\i ./psql.function4.sql 

и запустить его с psql -f batch.sql.

+0

этот файл нужно будет редактировать каждый раз, когда новый файл будет добавлен или удален. – Mokadillion

+0

Loop thorugh файлы в каталоге. Что-то вроде: for f in *; do \ i ./psql $ f; сделано – Mokadillion

+0

Спасибо за предложение. – MHugh

Смежные вопросы