Gaetano Mendola <mendola@bigfoot.com> writes:
> [ pg_dumpall emits this: ]
> DELETE FROM pg_shadow WHERE usesysid <> (SELECT datdba FROM pg_database
> WHERE datname = 'template0');
> Now if the file pg_user.sql is used accidentally by a user that is not
> postgres the result is that all users are deleted ( also the user that
> is doing the restore ) and no other user is created.
How so? If that deletes all users then you have already removed the
user who owns template0, ie, the user who did initdb. That is a really
bad idea.
regards, tom lane