<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">hi,<div><br></div><div>We have a slony cluster of 3 nodes running on postgres 8.3 and slony 1.2.15. We'd like to add a new slony node running on 8.4. When I tried to compile slony 1.2.15 against postgres 8.4, I got compilation errors. I guess the only choice I have is to upgrade slony to 1.2.22.</div><div><br></div><div>I read the update documentation. It seems like it is relative safe and easy to upgrade slony. Just need to update the slony binaries and run update functions.</div><div><br></div><div>Does any one successfully run a cluster of both 8.3 and 8.4 nodes?</div><div><br></div><div>Is 1.2.22 very stable? Any known issues?</div><div><br></div><div>And in the documentation</div><div><a href="http://www.slony.info/documentation/1.2/slonyupgrade.html">http://www.slony.info/documentation/1.2/slonyupgrade.html</a></div><div><br></div><div><meta charset="utf-8"><dt style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">Run&nbsp;<tt class="COMMAND">make install</tt>&nbsp;to install new&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;components on top of the old</dt><dd style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; "><div style="margin-top: 0px; padding-top: 5px; margin-bottom: 0px; padding-bottom: 5px; ">If you build&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;on the same system on which it is to be deployed, and build from sources, overwriting the old with the new is as easy as&nbsp;<tt class="COMMAND">make install</tt>. There is no need to restart a database backend; just to stop&nbsp;<a href="http://www.slony.info/documentation/1.2/slon.html" style="color: rgb(13, 29, 223); text-decoration: none; "><span class="APPLICATION">slon</span></a>&nbsp;processes, run the&nbsp;<tt class="COMMAND">UPDATE FUNCTIONS</tt>&nbsp;script, and start new&nbsp;<a href="http://www.slony.info/documentation/1.2/slon.html" style="color: rgb(13, 29, 223); text-decoration: none; "><span class="APPLICATION">slon</span></a>&nbsp;processes.</div><div style="margin-top: 0px; padding-top: 5px; margin-bottom: 0px; padding-bottom: 5px; ">Unfortunately, this approach requires having a build environment on the same host as the deployment. That may not be consistent with efforts to use common&nbsp;<span class="PRODUCTNAME">PostgreSQL</span>&nbsp;and&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;binaries across a set of nodes.</div></dd><dt style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">Create a new&nbsp;<span class="PRODUCTNAME">PostgreSQL</span>&nbsp;and&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;build</dt><dd style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; "><div style="margin-top: 0px; padding-top: 5px; margin-bottom: 0px; padding-bottom: 5px; ">With this approach, the old&nbsp;<span class="PRODUCTNAME">PostgreSQL</span>&nbsp;build with old&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;components persists after switching to a new&nbsp;<span class="PRODUCTNAME">PostgreSQL</span>&nbsp;build with new&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;components. In order to switch to the new&nbsp;<span class="PRODUCTNAME">Slony-I</span>&nbsp;build, you need to restart the&nbsp;<span class="PRODUCTNAME">PostgreSQL</span>&nbsp;<tt class="COMMAND">postmaster</tt>, therefore interrupting applications, in order to get it to be aware of the location of the new components.</div></dd><div><br></div></div><div><br></div><div>I intended to choose the first method since it looks easier. What are the risks of doing the 1st method? And it says&nbsp;</div><div><br></div><div><span class="Apple-style-span" style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">That may not be consistent with efforts to use common&nbsp;</span><span class="Apple-style-span" style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; "><span class="PRODUCTNAME">PostgreSQL</span></span><span class="Apple-style-span" style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">&nbsp;and&nbsp;</span><span class="Apple-style-span" style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; "><span class="PRODUCTNAME">Slony-I</span></span><span class="Apple-style-span" style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">&nbsp;binaries across a set of nodes</span></div><div><font class="Apple-style-span" face="'sans serif'" size="4"><span class="Apple-style-span" style="font-size: 16px; line-height: 16px;"><br></span></font></div><div>We don't use common PostgresSQL and Slony-I binaries across our nodes so I guess this doesn't apply to us. And it is impossible to do this when there are multiple versions of postgreSQL in the same cluster. Is my understanding correct?</div><div><br></div><div>Thanks,</div><div>Claire</div></body></html>