Steve Singer ssinger at ca.afilias.info
Wed Mar 5 07:23:02 PST 2014
On 02/24/2014 11:18 AM, Martin Moore wrote:
> Hi,
>
> I've restored a postgres 8.4 database onto a 9.3 installation (on Debian
> Jessie) with Slony 2.1.4.
>

Does your schema have any custom operators ?

When you say that you restored an 8.4 DB did you do this with pg_dump? 
pg_upgrade? or some other method?



> Master and slave servers are running the same versions of everything.
>
> Running a script (as used in 8.4 - slony ver 1.2.21 so may need to be
> changed, but can't find anything) which contains the following
>
> define CLUSTER T1;
> define PRIMARY 1;
> define SLAVE 10;
> cluster name = @CLUSTER;
> define origin1 origin = @PRIMARY;
> define origin2 origin = @SLAVE;
> define primary id = @PRIMARY;
> define slave id = @SLAVE;
> define set_user_admin            id = 10001;
>
> node @PRIMARY   admin conninfo = 'dbname=myname host=localhost user=slony';
>
> node @SLAVE admin conninfo = 'dbname=myname host=slave.host.com user=slony';
> create set    (id = 10001, @origin1, comment = 'user_admin');
> set add table (set @set_user_admin, @origin1, id = 10002, full qualified
> name = 'public.users', comment = 'Table public.users');
>
>
> fails as below.
>
> ./addsst.slonik:3: WARNING:  Auto-casting int to text: 10001
> CONTEXT:  PL/pgSQL function "_T1".storeset(integer,text) line 11 at RETURN
> ./addsst.slonik:3: WARNING:  Auto-casting int to text: 1
> CONTEXT:  PL/pgSQL function "_T1".storeset(integer,text) line 11 at RETURN
> ./addsst.slonik:4: WARNING:  Auto-casting int to text: 10002
> CONTEXT:  PL/pgSQL function "_T1".altertableaddtriggers(integer) line 53 at
> EXECUTE statement SQL statement "SELECT
> "_T1".alterTableAddTriggers(p_tab_id)"
> PL/pgSQL function "_T1".setaddtable_int(integer,integer,text,name,text) line
> 99 at PERFORM SQL statement "SELECT "_T1".setAddTable_int(p_set_id,
> p_tab_id, p_fqname,
>                          p_tab_idxname, p_tab_comment)"
> PL/pgSQL function "_T1".setaddtable(integer,integer,text,name,text) line 28
> at PERFORM
> ./addsst.slonik:4: PGRES_FATAL_ERROR lock table "_T1".sl_config_lock;select
> "_T1".setAddTable(10001, 10002, 'public.users', 'users_pkey', 'Table
> public.users');  - ERROR:  operator is not unique: text || integer
> LINE 3:     '"_T1".log_truncate(' || i_tabid || ');'
>                                    ^
> HINT:  Could not choose a best candidate operator. You might need to add
> explicit type casts.
> QUERY:  SELECT 'create trigger "_T1_truncatetrigger" ' ||
>                                  ' before truncate on ' || i_fqtable || ' for
> each statement execute procedure ' ||
>                                  '"_T1".log_truncate(' || i_tabid || ');'
> CONTEXT:  PL/pgSQL function "_T1".altertableaddtruncatetrigger(text,integer)
> line 3 at EXECUTE statement SQL statement "SELECT
> "_T1".alterTableAddTruncateTrigger(v_tab_fqname, p_tab_id)"
> PL/pgSQL function "_T1".altertableaddtriggers(integer) line 65 at PERFORM
> SQL statement "SELECT "_T1".alterTableAddTriggers(p_tab_id)"
> PL/pgSQL function "_T1".setaddtable_int(integer,integer,text,name,text) line
> 99 at PERFORM SQL statement "SELECT "_T1".setAddTable_int(p_set_id,
> p_tab_id, p_fqname,
>                          p_tab_idxname, p_tab_comment)"
> PL/pgSQL function "_T1".setaddtable(integer,integer,text,name,text) line 28
> at PERFORM
>
>
>
>
> Any ideas?
>
>
> Thanks,
>
> Martin
>
> _______________________________________________
> Slony1-general mailing list
> Slony1-general at lists.slony.info
> http://lists.slony.info/mailman/listinfo/slony1-general
>



More information about the Slony1-general mailing list