<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"sans serif";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h2
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:18.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
tt
        {font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:Arial;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In the “current limitations” section of the
documentation it states that “</span></font><font size=2 face=Arial><span
lang=EN style='font-size:10.0pt;font-family:Arial'>In addition, any <i><span
style='font-style:italic'>other</span></i> triggers and rules on replicated
tables are <i><span style='font-style:italic'>suppressed</span></i> on the
subscribers: This is done by pointing them, in the system table, to the primary
key index instead of to the table itself.</span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>” When implementing
table partitioning, part of the process is to create rules on the master table
to redirect operations such as inserts to the proper child table. Check
constraints on each child table enforce rules for where rows of data are
stored, but it is the rule set on the master table that allows for
inserts/updates on the master table to make their way to the proper child.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Does this mean that Slony-I is not compatible with
partitioned tables in PostgreSQL?<o:p></o:p></span></font></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-right:9.0pt;
mso-margin-bottom-alt:auto;margin-left:7.5pt;background:#F6F6F6'><a
name=AEN120><b><font size=5 color="#0d1ddf" face="sans serif"><span lang=EN
style='font-size:18.0pt;font-family:"sans serif";color:#0D1DDF;font-weight:
bold'>1.5. Current Limitations</span></font></b></a><b><font size=5
face="sans serif"><span lang=EN style='font-size:18.0pt;font-family:"sans serif";
font-weight:bold'><o:p></o:p></span></font></b></p>
<p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:9.0pt;margin-bottom:
0in;margin-left:7.5pt;margin-bottom:.0001pt;background:#F6F6F6'><a name=AEN122></a><font
size=3 face="sans serif"><span lang=EN style='font-size:12.0pt;font-family:
"sans serif"'>Slony-I does not automatically propagate schema changes, nor does
it have any ability to replicate large objects. There is a single common reason
for these limitations, namely that Slony-I collects updates using triggers, and
neither schema changes, large object operations, nor </span></font><font
size=2 face="Courier New"><span lang=EN style='font-size:10.0pt;font-family:
"Courier New"'>TRUNCATE</span></font><font face="sans serif"><span lang=EN
style='font-family:"sans serif"'> requests are able to triggers suitable to
inform Slony-I when those sorts of changes take place. As a result, the only
database objects where Slony-I can replicate updates are tables and sequences. <o:p></o:p></span></font></p>
<p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:9.0pt;margin-bottom:
0in;margin-left:7.5pt;margin-bottom:.0001pt;background:#F6F6F6'><font size=3
face="sans serif"><span lang=EN style='font-size:12.0pt;font-family:"sans serif"'>Note
that with the <i><span style='font-style:italic'>use</span></i> of triggers
comes some additional <i><span style='font-style:italic'>fiddling around with
triggers</span></i>. On the "origin" for each replicated table, an
additional trigger is added which runs the stored procedure <a
href="http://www.slony.info/documentation/function.logtrigger.html"><font
color="#0d1ddf"><span style='color:#0D1DDF;text-decoration:none'>schemadoclogtrigger(
)</span></font></a>. On each subscriber, tables are augmented with a trigger
that runs the <a
href="http://www.slony.info/documentation/function.denyaccess.html"><font
color="#0d1ddf"><span style='color:#0D1DDF;text-decoration:none'>schemadocdenyaccess(
)</span></font></a> function; this function prevents anything other than the <a
href="http://www.slony.info/documentation/slon.html"><font color="#0d1ddf"><span
style='color:#0D1DDF;text-decoration:none'>slon</span></font></a> process from
updating data in replicated tables. In addition, any <i><span style='font-style:
italic'>other</span></i> triggers and rules on replicated tables are <i><span
style='font-style:italic'>suppressed</span></i> on the subscribers: This is
done by pointing them, in the system table, to the primary key index instead of
to the table itself. This represents something of a "corruption" of
the data dictionary, and is why you should not directly use pg_dump to dump
schemas on subscribers. <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Thanks,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Keaton<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
</div>
</body>
</html>