Glyn Astill glynastill at yahoo.co.uk
Wed May 14 04:56:56 PDT 2008
Anyone know if I'm right or wrong in the message below? Does altertablerestore(integer) use object oids?

----- Original Message ----
> From: Glyn Astill <glynastill at yahoo.co.uk>
> To: Christopher Browne <cbbrowne at ca.afilias.info>
> Cc: slony1-general at lists.slony.info
> Sent: Tuesday, 13 May, 2008 5:17:56 PM
> Subject: Re: [Slony1-general] Stripping out slony after / before / during pg_restore?
> 
> 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 
> > To: Glyn Astill 
> > 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
> _______________________________________________
> Slony1-general mailing list
> Slony1-general at lists.slony.info
> http://lists.slony.info/mailman/listinfo/slony1-general



      __________________________________________________________
Sent from Yahoo! Mail.
A Smarter Email http://uk.docs.yahoo.com/nowyoucan.html


More information about the Slony1-general mailing list