Ah, thanks Christopher

*However* running uninstallnode doesn't seem to work here when I've dumped my 
database, then read it back in on another server. I get:

ERROR:  Slony-I: alterTableRestore(): Table with id 1000 not found
CONTEXT:  SQL statement "SELECT  "_main_replication".alterTableRestore( $1 )"
PL/pgSQL function "uninstallnode" line 14 at PERFORM

However table ID 1000 does exist.

I've had a look at alterTableRestore, does slony rely on the oid of the table 
on the original
server? 

I'm refering to "pg_catalog".pg_class.oid in this query in 
altertablerestore(integer) that seems to give me the message:

select T.tab_reloid, T.tab_set, T.tab_altered,
            S.set_origin, PGX.indexrelid,
            "_main_replication".slon_quote_brute(PGN.nspname) || '.' ||
            "_main_replication".slon_quote_brute(PGC.relname) as tab_fqname
            into v_tab_row
            from "_main_replication".sl_table T, "_main_replication".sl_set S,
                "pg_catalog".pg_class PGC, "pg_catalog".pg_namespace PGN,
                "pg_catalog".pg_index PGX, "pg_catalog".pg_class PGXC
            where T.tab_id = p_tab_id
                and T.tab_set = S.set_id
                and T.tab_reloid = PGC.oid
                and PGC.relnamespace = PGN.oid
                and PGX.indrelid = T.tab_reloid
                and PGX.indexrelid = PGXC.oid
                and PGXC.relname = T.tab_idxname
                for update;
    if not found then
        raise exception 'Slony-I: alterTableRestore(): Table with id % not 
found', p_tab_id;
    end if;

I've been told that you can't dump out the oids of objects with pg_dump, so I 
can't get around this.


----- Original Message ----
> From: Christopher Browne <[EMAIL PROTECTED]>
> To: Glyn Astill <[EMAIL PROTECTED]>
> Cc: [email protected]
> Sent: Tuesday, 13 May, 2008 4:42:39 PM
> Subject: Re: [Slony1-general] Stripping out slony after / before / during 
> pg_restore?
> 
> Glyn Astill writes:
> > Aha, does uninstallnode() clean up anything that drop cascade will not?
> 
> Yes...
> 
> 1.  It cleans up the hiding of foreign keys on subscriber nodes.
> 
> 2.  If you used TABLE ADD KEY to fabricate a primary key, it drops
> that.
> -- 
> (reverse (concatenate 'string "gro.mca" "@" "enworbbc"))
> http://www3.sympatico.ca/cbbrowne/x.html
> "Not  me, guy. I  read the  Bash man  page each  day like  a Jehovah's
> Witness reads  the Bible.  No  wait, the Bash  man page IS  the bible.
> Excuse    me..."    (More   on    confusing   aliases,    taken   from
> comp.os.linux.misc)



      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html
_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to