Re: Unhappy thoughts about pg_dump and objects inherited from template1
| От | Tom Lane |
|---|---|
| Тема | Re: Unhappy thoughts about pg_dump and objects inherited from template1 |
| Дата | |
| Msg-id | 26565.973696508@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Unhappy thoughts about pg_dump and objects inherited from template1 (Philip Warner <pjw@rhyme.com.au>) |
| Ответы |
Re: Unhappy thoughts about pg_dump and objects
inherited from template1
Re: Unhappy thoughts about pg_dump and objects inherited from template1 |
| Список | pgsql-hackers |
> At 14:04 7/11/00 -0500, Jan Wieck wrote:
>> FWIW, what about having another "template0" database, where
>> nobody can add user data. Initially, template0 and template1
>> are identically. CREATE DATABASE get's a new switch (used by
>> the pg_dump output) that tells to create it from the vanilla
>> template0 DB (generalized, so someone can setup a couple of
>> template<n>'s) and all objects inherited from template1
>> (those not in template0) are regularly dumped per database.
I like that a lot. Solves the whole problem at a stroke, and even
adds some extra functionality (alternate templates).
Do we need an actual enforcement mechanism for "don't modify template0"?
I think we could live without that for now. If you're worried about it,
one way would be to not allow connections of any sort to template0...
in fact template0 needn't be a real database at all, just a $PGDATA/base
subdirectory with no pg_database entry. initdb would set it up via
cp -r from template1, and thereafter it'd just sit there.
Philip Warner <pjw@rhyme.com.au> writes:
> The command to create the new database needs to ask for a vanilla database
> somehow, but extending the SQL doesn't seem like a good idea.
Why not? CREATE DATABASE isn't a standard command in the first place,
and it's got a couple of even-less-standard options already. I like
CREATE DATABASE foo WITH TEMPLATE 'template0'
better than a SET command.
> It would also be good to allow some kind of installation-wide default
> template (not necessarily template1/0),
Maybe, but let's not go overboard here. For one thing, where are you
going to keep that default setting? I think a hard-wired default of
template1 is a perfectly good choice.
regards, tom lane
В списке pgsql-hackers по дате отправления: