Miguel mmiranda
Fri Apr 7 10:19:52 PDT 2006
Hi, im facing  an error (stupid me !!!), im replicating between two 
servers, the master server is gentoo and slave is freebsd, in gentoo the 
owner of the database is postgres and in freebsd is pgsql, when i 
created the schema in freebsd a modified every line

ALTER BLABLABLA OWNER TO postgres;

to

ALTER BLABLABLA OWNER TO pgsql;

and edited the conn line in slon_tools.conf according to every node's 
database owner, the replication started without any problem, all was 
working fine until today, i wanted to modify a function, so i created an 
exec script, the problem was that i copied the original function from a 
pgadmin window, edited it and pasted it in a vi screen, **BUT** i forgot 
to edit the owner line, so now slon is dying in the slave node, refusing 
to apply the schema change beacuse in the slave node there isnt a 
postgres role

2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20534 
SYNC
2006-04-07 10:49:47 CST ERROR  remoteWorkerThread_1: "begin transaction; 
set transaction isolation level serializable; lock table "_shiva".sl_
config_lock; select "_shiva".ddlScript_int(1, 'DROP FUNCTION 
formatted_time(float8);

CREATE OR REPLACE FUNCTION formatted_time(integer)
  RETURNS "varchar" AS
  $BODY$ select ($1 * ''1 second''::interval)::varchar(15)$BODY$
    LANGUAGE ''sql'' VOLATILE;
    ALTER FUNCTION formatted_time(integer) OWNER TO postgres;

', -1); notify "_shiva_Event"; notify "_shiva_Confirm"; insert into 
"_shiva".sl_event     (ev_origin, ev_seqno, ev_timestamp,      ev_minxid,
ev_maxxid, ev_xip, ev_type , ev_data1, ev_data2, ev_data3    ) values 
('1', '17993', '2006-04-06 17:32:34.498772', '67820709', '67820710', '',
 'DDL_SCRIPT', '1', 'DROP FUNCTION formatted_time(float8);

CREATE OR REPLACE FUNCTION formatted_time(integer)
  RETURNS "varchar" AS
  $BODY$ select ($1 * ''1 second''::interval)::varchar(15)$BODY$
    LANGUAGE ''sql'' VOLATILE;
    ALTER FUNCTION formatted_time(integer) OWNER TO postgres;

', '-1'); insert into "_shiva".sl_confirm       (con_origin, 
con_received, con_seqno, con_timestamp)    values (1, 2, '17993', 
now()); commit
transaction;" PGRES_FATAL_ERROR ERROR:  role "postgres" does not exist
CONTEXT:  SQL statement "DROP FUNCTION formatted_time(float8);

CREATE OR REPLACE FUNCTION formatted_time(integer)
  RETURNS "varchar" AS
  $BODY$ select ($1 * '1 second'::interval)::varchar(15)$BODY$
    LANGUAGE 'sql' VOLATILE;
    ALTER FUNCTION formatted_time(integer) OWNER TO postgres;

"
PL/pgSQL function "ddlscript_int" line 53 at execute statement
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20535 
SYNC
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20536 
SYNC
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20537 
SYNC
2006-04-07 10:49:47 CST DEBUG1 slon: shutdown requested
2006-04-07 10:49:47 CST DEBUG2 slon: notify worker process to shutdown
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20538 
SYNC
2006-04-07 10:49:47 CST DEBUG2 slon: wait for worker process to shutdown
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20539 
SYNC
2006-04-07 10:49:47 CST DEBUG2 remoteListenThread_1: queue event 1,20540 
SYNC
2006-04-07 10:49:47 CST DEBUG1 main: scheduler mainloop returned
2006-04-07 10:49:47 CST DEBUG2 remoteWorker_event: ignore new events due 
to shutdown
2006-04-07 10:49:47 CST DEBUG2 main: wait for remote threads
 
how can i delete this replication event?, should this work if i create  
a postgres role in  slave node? 
---
Miguel




More information about the Slony1-general mailing list