Hi Dough, Thank you for your answer. Now the reasons for using template0 DB are pretty clear (there a mini test-case Of this in the mail you have just answered;)). Thanks again. Regards. Milen -----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Douglas McNaught Sent: Sunday, April 09, 2006 4:05 PM To: Milen Kulev Cc: 'William ZHANG'; pgsql-general@xxxxxxxxxxxxxx Subject: Re: [GENERAL] Create database bug in 8.1.3 ? -> solved "Milen Kulev" <makulev@xxxxxxx> 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster