<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 <tt class="COMMAND">make install</tt> to install new <span class="PRODUCTNAME">Slony-I</span> 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 <span class="PRODUCTNAME">Slony-I</span> 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 <tt class="COMMAND">make install</tt>. There is no need to restart a database backend; just to stop <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> processes, run the <tt class="COMMAND">UPDATE FUNCTIONS</tt> script, and start new <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> 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 <span class="PRODUCTNAME">PostgreSQL</span> and <span class="PRODUCTNAME">Slony-I</span> binaries across a set of nodes.</div></dd><dt style="font-family: 'sans serif'; font-size: 16px; line-height: 16px; ">Create a new <span class="PRODUCTNAME">PostgreSQL</span> and <span class="PRODUCTNAME">Slony-I</span> 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 <span class="PRODUCTNAME">PostgreSQL</span> build with old <span class="PRODUCTNAME">Slony-I</span> components persists after switching to a new <span class="PRODUCTNAME">PostgreSQL</span> build with new <span class="PRODUCTNAME">Slony-I</span> components. In order to switch to the new <span class="PRODUCTNAME">Slony-I</span> build, you need to restart the <span class="PRODUCTNAME">PostgreSQL</span> <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 </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 </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; "> and </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; "> 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>