Обсуждение: create db from a template

Поиск
Список
Период
Сортировка

create db from a template

От
"Marc Fromm"
Дата:
Is there a better way to create a database from the schema of another
database, to have a copy of a database without the data?

1.) I get the schema from a database
pg_dump -s -U postgres -O databasename > /tmp/template_name

2.) I create a new database.
createdb -U postgres newdb

3.) I restore the schema to the newdb.
psql -U postgres newdb < /tmp/template_name

4.) I create a database, using the newdb as a TEMPLATE
CREATE DATABASE databasename2 TEMPLATE newdb;


Marc


Re: create db from a template

От
Shane Ambler
Дата:
Marc Fromm wrote:
> Is there a better way to create a database from the schema of another
> database, to have a copy of a database without the data?
>
> 1.) I get the schema from a database
> pg_dump -s -U postgres -O databasename > /tmp/template_name
>
> 2.) I create a new database.
> createdb -U postgres newdb
>
> 3.) I restore the schema to the newdb.
> psql -U postgres newdb < /tmp/template_name
>
> 4.) I create a database, using the newdb as a TEMPLATE
> CREATE DATABASE databasename2 TEMPLATE newdb;
>
>
> Marc
>
>

You only need those 4 steps once to start with then each new one will
just use step 4.

So you can either setup the database as you have done and use it as the
template for all the similar db's you want which means each new one will
only need step 4.

The other way is do 4 without using the TEMPLATE and then adjust 3 to
import the schema dump into the db just created (databasename2 in this case)



--

Shane Ambler
pgSQL (at) Sheeky (dot) Biz

Get Sheeky @ http://Sheeky.Biz