If the databases are on the same machine, I could see creating a template
database and then use:
createdb -T templateName newDbName
It will create the new db exactly like the template. I think createdb does
this by default using the database template1 as the template.
My databases are all on different machines, so I use perl/psql to create
them. I have a sql directory that has a separate sql file for each table
and function I want to create and the perl script 'cat's them to psql in the
correct order.
Woody