<!--  -->
<sect1 id="limitations">
<title> Current Limitations</title>

<indexterm><primary>limitations to &slony1;</primary></indexterm>

<para> &slony1; does not automatically replicate
<itemizedlist>
<listitem><para>Changes to large objects (BLOBS)</para></listitem>
<listitem><para>Changes made by DDL commands</para></listitem>
<listitem><para>Changes to users and roles</para></listitem>
</itemizedlist>
</para>

<para> The main reason for these limitations is that &slony1;
collects updates using triggers, and neither schema changes nor large
object operations are captured by triggers</para>

<para>There is a capability for &slony1; to propagate notably DDL changes
if you submit them as scripts via the <application>slonik</application> <xref
linkend="stmtddlscript"> operation.  That is not handled
<quote>automatically;</quote> you, as a database administrator, will
have to construct an SQL DDL script and submit it, via <xref
linkend="stmtddlscript">.

<para>If you have these sorts of requirements, it may be worth
exploring the use of &postgres; 8.0+ <acronym>PITR</acronym> (Point In
Time Recovery), where <acronym>WAL</acronym> logs are replicated to
remote nodes.

</sect1>

<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:"slony.sgml"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
