Я пытаюсь автоматизировать набор процедур, которые создают базы данных 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
Я хочу написать оболочку script, которая будет выполнять команды в файле, чтобы я мог написать script следующим образом:
# 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
Любые предложения о том, как это сделать? (Как вы, возможно, догадались, я новичок в сценариях оболочки.)
Изменить
Чтобы уточнить вопрос дальше, я хочу знать:
- Как написать groksqlcommands.sh(a bash script, который будет запускать набор pgsql cmds из файла)
- Как создать базу данных на основе существующего шаблона в командной строке