我试图自动化创建TEMPLATE数据库的一组过程。
我有一组文件(file1,file2,… fileN),每个文件都包含用于创建TEMPLATE数据库所需的一组pgsql命令。
文件的内容(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
我希望能编写一个Shell脚本,以便执行文件中的命令,这样我就可以像这样编写脚本:
# 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脚本的新手。)
编辑
进一步澄清问题,我想知道:
- 如何编写groksqlcommands.sh(一个将从文件运行一组pgsql命令的bash脚本)
- 如何在命令行基于现有模板创建数据库