Я пытаюсь автоматизировать набор процедур, которые создают базы данных TEMPLATE.
У меня есть набор файлов (file1, file2, ... fileN), каждый из которых содержит набор команд pgsql, необходимых для создания базы данных TEMPLATE.
Содержимое файла (createdbtemplate1.sql) выглядит примерно так:
CREATE DATABASE mytemplate1 WITH ENCODING 'UTF8';
\c mytemplate1
CREATE TABLE first_table (
--- fields here ..
);
-- Add C language extension + functions
\i db_funcs.sql
Я хочу иметь возможность написать сценарий оболочки, который будет выполнять команды в файле, чтобы я мог написать сценарий вроде этого:
# run commands to create TEMPLATE db mytemplate1
# ./groksqlcommands.sh createdbtemplate1.sql
for dbname in foo foofoo foobar barbar
do
# Need to simply create a database based on an existing template in this script
psql CREATE DATABASE $dbname TEMPLATE mytemplate1
done
Есть предложения, как это сделать? (Как вы уже догадались, я новичок в shell-сценариях)
Чтобы уточнить вопрос, я хочу знать: