Glyn Astill glynastill at yahoo.co.uk
Tue May 13 09:17:56 PDT 2008
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 <cbbrowne at ca.afilias.info>
> To: Glyn Astill <glynastill at yahoo.co.uk>
> Cc: slony1-general at lists.slony.info
> 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


More information about the Slony1-general mailing list