Oliver-
Thanks for the idea. Unfortunately, it still won't go.
We've never touched template1, but just to make sure, I tried using
template0 to ensure an empty DB with the same results:
nickf@morgai:~$ createdb -D PG_ALPHA -T template0 test
CREATE DATABASE
nickf@morgai:~$ pg_restore -dalpha test.dump.tar
pg_restore: [archiver (db)] could not execute query: ERROR: function
plpgsql_call_handler already exists with same argument types
nickf@morgai:~$
I'm a bit surprised about this one, because we're running a plain 7.2
(debian package) installation & it seems as if this is a standard sort of
operation that other people would be using often.
-Nick
> It sounds as though you are trying to restore an item which is already
> in the database. Perhaps this snippet from the pg_restore man page may
> be relevent:
>
> If your installation has any local additions to the template1
> database, be careful to load the output of pg_restore into a
> truly empty database; otherwise you are likely to get errors due
> to duplicate definitions of the added objects. To make an empty
> database without any local additions, copy from template0 not
> template1, for example:
>
> CREATE DATABASE foo WITH TEMPLATE = template0;