"Milen Kulev" <makulev@gmx.net> writes:
> Hi Wiliam,
> Than you very much for your prompt reply.
>
> I can not understand why pg_dump, pg_dumpall have hard-coded "template0" ?
The reason is this: any extra stuff that your database inherited from
template1 (or whatever template you used) will be dumped out as part
of your database. There is no way to for pg_dump to tell what parts
came from template1 and what parts were added afterward, so it bases
its dump on template0, which is a minimal database. If you based your
restored database on template1, you would get collisions as the
restore tried to add objects that were already there from template1.
Make sense?
-Doug