Hello,
I use PostgreSQL 8.4 under CentOS 5.7:
# rpm -qa | grep post
compat-postgresql-libs-4-1PGDG.rhel5
postgresql-8.4.9-1PGDG.rhel5
postgresql-server-8.4.9-1PGDG.rhel5
compat-postgresql-libs-4-1PGDG.rhel5
postgresql-libs-8.4.9-1PGDG.rhel5
postgresql-devel-8.4.9-1PGDG.rhel5
And perform nightly backups with this cronjob:
1 1 * * * pg_dump $PGDATABASE | gzip -c >
$HOME/backups/pref-`date +\%F`.sql.gz
I also restored them on the same and another
machines (dev. VMs) often and w/o problems.
Now I'm trying to migrate to another machine
and CentOS 6 and suddenly emits the warnings:
# rpm -qa|grep post
postgresql-libs-8.4.7-2.el6.x86_64
postgresql-devel-8.4.7-2.el6.x86_64
postgresql-8.4.7-2.el6.x86_64
postgresql-docs-8.4.7-2.el6.x86_64
postgresql-server-8.4.7-2.el6.x86_64
pref# \i pref-2011-10-05-a.sql
SET
SET
SET
SET
SET
SET
psql:pref-2011-10-05-a.sql:16: ERROR: language "plpgsql" already exists
ALTER LANGUAGE
SET
CREATE DOMAIN
ALTER DOMAIN
............
CREATE FUNCTION
ALTER FUNCTION
CREATE FUNCTION
ALTER FUNCTION
psql:pref-2011-10-05-a.sql:195: ERROR: function "pref_update_catch"
already exists with same argument types
ALTER FUNCTION
psql:pref-2011-10-05-a.sql:236: ERROR: function "pref_update_game"
already exists with same argument types
ALTER FUNCTION
psql:pref-2011-10-05-a.sql:256: ERROR: function "pref_update_hand"
already exists with same argument types
ALTER FUNCTION
psql:pref-2011-10-05-a.sql:288: ERROR: function "pref_update_luck"
already exists with same argument types
ALTER FUNCTION
CREATE FUNCTION
ALTER FUNCTION
psql:pref-2011-10-05-a.sql:339: ERROR: function "pref_update_match"
already exists with same argument types
ALTER FUNCTION
The 1st waring is ok, as I've run "create language plpgsql" before.
But why do I get the function warings?
In my original database I don't see any duplicates with \df or \df+
# psql
psql (8.4.9)
Type "help" for help.
pref=> \df pref_update_catch
List of functions
Schema | Name | Result data type |
Argument data
types
| Type
--------+-------------------+------------------+--------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
------------------------+--------
public | pref_update_catch | void | _id character varying, _trix0 i
nteger, _trix1 integer, _trix2 integer, _trix3 integer, _trix4 integer, _trix5 i
nteger, _trix6 integer, _trix7 integer, _trix8 integer, _trix9 integer, _trix10
integer, _trust integer | normal
(1 row)
Same picture in my target database on CentOS 6.0
(it has 8.4.7 and not 8.4.9 though)
Any ideas what is happening please?
Regards
Alex