Tue Aug 3 06:38:16 PDT 2004
- Previous message: [Slony1-commit] By cbbrowne: Add in (clunky) rules to generate documentation for tables
- Next message: [Slony1-commit] By cbbrowne: Change this to look at all nodes and request function
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message:
-----------
Added localxid.sql, that generates a domain for the "XXID" type in the
scope of documentation generation, which allows us to get a very nearly
full set of functions and tables into schemadoc.html
Modified Files:
--------------
slony1-engine/doc/howto:
Makefile (r1.3 -> r1.4)
schemadoc.html (r1.1 -> r1.2)
Added Files:
-----------
slony1-engine/doc/howto:
localxid.sql (r1.1)
-------------- next part --------------
Index: schemadoc.html
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/doc/howto/schemadoc.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -Ldoc/howto/schemadoc.html -Ldoc/howto/schemadoc.html -u -w -r1.1 -r1.2
--- doc/howto/schemadoc.html
+++ doc/howto/schemadoc.html
@@ -116,8 +116,8 @@
<ul>
<li><a name="schemadoc.schema">schemadoc</a></li><ul>
- <li><a href="#schemadoc.table.sl-config-lock">sl_config_lock</a></li><li><a href="#schemadoc.table.sl-confirm">sl_confirm</a></li><li><a href="#schemadoc.table.sl-listen">sl_listen</a></li><li><a href="#schemadoc.table.sl-node">sl_node</a></li><li><a href="#schemadoc.table.sl-path">sl_path</a></li><li><a href="#schemadoc.table.sl-seqlog">sl_seqlog</a></li>
- <li><a href="#schemadoc.function.altertableforreplication-integer">altertableforreplication( integer )</a></li><li><a href="#schemadoc.function.altertablerestore-integer">altertablerestore( integer )</a></li><li><a href="#schemadoc.function.cleanupevent">cleanupevent( )</a></li><li><a href="#schemadoc.function.ddlscript-integer-text">ddlscript( integer, text )</a></li><li><a href="#schemadoc.function.ddlscript-int-integer-text">ddlscript_int( integer, text )</a></li><li><a href="#schemadoc.function.determineattkindserial-text">determineattkindserial( text )</a></li><li><a href="#schemadoc.function.determineattkindunique-text-name">determineattkindunique( text, name )</a></li><li><a href="#schemadoc.function.determineidxnameserial-text">determineidxnameserial( text )</a></li><li><a href="#schemadoc.function.determineidxnameunique-text-name">determineidxnameunique( text, name )</a></li><li><a href="#schemadoc.function.disablenode-integer">disablenode( integer )</a></li><li><a href="#schemadoc.function.disablenode-int-integer">disablenode_int( integer )</a></li><li><a href="#schemadoc.function.droplisten-integer-integer-integer">droplisten( integer, integer, integer )</a></li><li><a href="#schemadoc.function.droplisten-int-integer-integer-integer">droplisten_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.dropnode-integer">dropnode( integer )</a></li><li><a href="#schemadoc.function.dropnode-int-integer">dropnode_int( integer )</a></li><li><a href="#schemadoc.function.droppath-integer-integer">droppath( integer, integer )</a></li><li><a href="#schemadoc.function.droppath-int-integer-integer">droppath_int( integer, integer )</a></li><li><a href="#schemadoc.function.dropset-integer">dropset( integer )</a></li><li><a href="#schemadoc.function.dropset-int-integer">dropset_int( integer )</a></li><li><a href="#schemadoc.function.droptrigger-integer-name">droptrigger( integer, name )</a></li><li><a href="#schemadoc.function.droptrigger-int-integer-name">droptrigger_int( integer, name )</a></li><li><a href="#schemadoc.function.enablenode-integer">enablenode( integer )</a></li><li><a href="#schemadoc.function.enablenode-int-integer">enablenode_int( integer )</a></li><li><a href="#schemadoc.function.enablesubscription-integer-integer-integer">enablesubscription( integer, integer, integer )</a></li><li><a href="#schemadoc.function.enablesubscription-int-integer-integer-integer">enablesubscription_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.failednode-integer-integer">failednode( integer, integer )</a></li><li><a href="#schemadoc.function.failoverset-int-integer-integer-integer">failoverset_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone">forwardconfirm( integer, integer, bigint, timestamp without time zone )</a></li><li><a href="#schemadoc.function.initializelocalnode-integer-text">initializelocalnode( integer, text )</a></li><li><a href="#schemadoc.function.lockset-integer">lockset( integer )</a></li><li><a href="#schemadoc.function.mergeset-integer-integer">mergeset( integer, integer )</a></li><li><a href="#schemadoc.function.mergeset-int-integer-integer">mergeset_int( integer, integer )</a></li><li><a href="#schemadoc.function.moveset-integer-integer">moveset( integer, integer )</a></li><li><a href="#schemadoc.function.moveset-int-integer-integer-integer">moveset_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.sequencelastvalue-text">sequencelastvalue( text )</a></li><li><a href="#schemadoc.function.sequencesetvalue-integer-integer-bigint-bigint">sequencesetvalue( integer, integer, bigint, bigint )</a></li><li><a href="#schemadoc.function.setaddsequence-integer-integer-text-text">setaddsequence( integer, integer, text, text )</a></li><li><a href="#schemadoc.function.setaddsequence-int-integer-integer-text-text">setaddsequence_int( integer, integer, text, text )</a></li><li><a href="#schemadoc.function.setaddtable-integer-integer-text-name-text">setaddtable( integer, integer, text, name, text )</a></li><li><a href="#schemadoc.function.setaddtable-int-integer-integer-text-name-text">setaddtable_int( integer, integer, text, name, text )</a></li><li><a href="#schemadoc.function.storelisten-integer-integer-integer">storelisten( integer, integer, integer )</a></li><li><a href="#schemadoc.function.storelisten-int-integer-integer-integer">storelisten_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.storenode-integer-text">storenode( integer, text )</a></li><li><a href="#schemadoc.function.storenode-int-integer-text">storenode_int( integer, text )</a></li><li><a href="#schemadoc.function.storepath-integer-integer-text-integer">storepath( integer, integer, text, integer )</a></li><li><a href="#schemadoc.function.storepath-int-integer-integer-text-integer">storepath_int( integer, integer, text, integer )</a></li><li><a href="#schemadoc.function.storeset-integer-text">storeset( integer, text )</a></li><li><a href="#schemadoc.function.storeset-int-integer-integer-text">storeset_int( integer, integer, text )</a></li><li><a href="#schemadoc.function.storetrigger-integer-name">storetrigger( integer, name )</a></li><li><a href="#schemadoc.function.storetrigger-int-integer-name">storetrigger_int( integer, name )</a></li><li><a href="#schemadoc.function.subscribeset-integer-integer-integer-boolean">subscribeset( integer, integer, integer, boolean )</a></li><li><a href="#schemadoc.function.subscribeset-int-integer-integer-integer-boolean">subscribeset_int( integer, integer, integer, boolean )</a></li><li><a href="#schemadoc.function.tableaddkey-text">tableaddkey( text )</a></li><li><a href="#schemadoc.function.tabledropkey-integer">tabledropkey( integer )</a></li><li><a href="#schemadoc.function.tablehasserialkey-text">tablehasserialkey( text )</a></li><li><a href="#schemadoc.function.uninstallnode">uninstallnode( )</a></li><li><a href="#schemadoc.function.unlockset-integer">unlockset( integer )</a></li><li><a href="#schemadoc.function.unsubscribeset-integer-integer">unsubscribeset( integer, integer )</a></li><li><a href="#schemadoc.function.unsubscribeset-int-integer-integer">unsubscribeset_int( integer, integer )</a></li>
+ <li><a href="#schemadoc.table.sl-config-lock">sl_config_lock</a></li><li><a href="#schemadoc.table.sl-confirm">sl_confirm</a></li><li><a href="#schemadoc.table.sl-event">sl_event</a></li><li><a href="#schemadoc.table.sl-listen">sl_listen</a></li><li><a href="#schemadoc.table.sl-log-1">sl_log_1</a></li><li><a href="#schemadoc.table.sl-log-2">sl_log_2</a></li><li><a href="#schemadoc.table.sl-node">sl_node</a></li><li><a href="#schemadoc.table.sl-path">sl_path</a></li><li><a href="#schemadoc.view.sl-seqlastvalue">sl_seqlastvalue</a></li><li><a href="#schemadoc.table.sl-seqlog">sl_seqlog</a></li><li><a href="#schemadoc.table.sl-sequence">sl_sequence</a></li><li><a href="#schemadoc.table.sl-set">sl_set</a></li><li><a href="#schemadoc.table.sl-setsync">sl_setsync</a></li><li><a href="#schemadoc.table.sl-subscribe">sl_subscribe</a></li><li><a href="#schemadoc.table.sl-table">sl_table</a></li><li><a href="#schemadoc.table.sl-trigger">sl_trigger</a></li>
+ <li><a href="#schemadoc.function.altertableforreplication-integer">altertableforreplication( integer )</a></li><li><a href="#schemadoc.function.altertablerestore-integer">altertablerestore( integer )</a></li><li><a href="#schemadoc.function.cleanupevent">cleanupevent( )</a></li><li><a href="#schemadoc.function.ddlscript-integer-text">ddlscript( integer, text )</a></li><li><a href="#schemadoc.function.ddlscript-int-integer-text">ddlscript_int( integer, text )</a></li><li><a href="#schemadoc.function.determineattkindserial-text">determineattkindserial( text )</a></li><li><a href="#schemadoc.function.determineattkindunique-text-name">determineattkindunique( text, name )</a></li><li><a href="#schemadoc.function.determineidxnameserial-text">determineidxnameserial( text )</a></li><li><a href="#schemadoc.function.determineidxnameunique-text-name">determineidxnameunique( text, name )</a></li><li><a href="#schemadoc.function.disablenode-integer">disablenode( integer )</a></li><li><a href="#schemadoc.function.disablenode-int-integer">disablenode_int( integer )</a></li><li><a href="#schemadoc.function.droplisten-integer-integer-integer">droplisten( integer, integer, integer )</a></li><li><a href="#schemadoc.function.droplisten-int-integer-integer-integer">droplisten_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.dropnode-integer">dropnode( integer )</a></li><li><a href="#schemadoc.function.dropnode-int-integer">dropnode_int( integer )</a></li><li><a href="#schemadoc.function.droppath-integer-integer">droppath( integer, integer )</a></li><li><a href="#schemadoc.function.droppath-int-integer-integer">droppath_int( integer, integer )</a></li><li><a href="#schemadoc.function.dropset-integer">dropset( integer )</a></li><li><a href="#schemadoc.function.dropset-int-integer">dropset_int( integer )</a></li><li><a href="#schemadoc.function.droptrigger-integer-name">droptrigger( integer, name )</a></li><li><a href="#schemadoc.function.droptrigger-int-integer-name">droptrigger_int( integer, name )</a></li><li><a href="#schemadoc.function.enablenode-integer">enablenode( integer )</a></li><li><a href="#schemadoc.function.enablenode-int-integer">enablenode_int( integer )</a></li><li><a href="#schemadoc.function.enablesubscription-integer-integer-integer">enablesubscription( integer, integer, integer )</a></li><li><a href="#schemadoc.function.enablesubscription-int-integer-integer-integer">enablesubscription_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.failednode-integer-integer">failednode( integer, integer )</a></li><li><a href="#schemadoc.function.failednode2-integer-integer-integer-bigint-bigint">failednode2( integer, integer, integer, bigint, bigint )</a></li><li><a href="#schemadoc.function.failoverset-int-integer-integer-integer">failoverset_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.forwardconfirm-integer-integer-bigint-timestamp-without-time-zone">forwardconfirm( integer, integer, bigint, timestamp without time zone )</a></li><li><a href="#schemadoc.function.initializelocalnode-integer-text">initializelocalnode( integer, text )</a></li><li><a href="#schemadoc.function.lockset-integer">lockset( integer )</a></li><li><a href="#schemadoc.function.mergeset-integer-integer">mergeset( integer, integer )</a></li><li><a href="#schemadoc.function.mergeset-int-integer-integer">mergeset_int( integer, integer )</a></li><li><a href="#schemadoc.function.moveset-integer-integer">moveset( integer, integer )</a></li><li><a href="#schemadoc.function.moveset-int-integer-integer-integer">moveset_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.sequencelastvalue-text">sequencelastvalue( text )</a></li><li><a href="#schemadoc.function.sequencesetvalue-integer-integer-bigint-bigint">sequencesetvalue( integer, integer, bigint, bigint )</a></li><li><a href="#schemadoc.function.setaddsequence-integer-integer-text-text">setaddsequence( integer, integer, text, text )</a></li><li><a href="#schemadoc.function.setaddsequence-int-integer-integer-text-text">setaddsequence_int( integer, integer, text, text )</a></li><li><a href="#schemadoc.function.setaddtable-integer-integer-text-name-text">setaddtable( integer, integer, text, name, text )</a></li><li><a href="#schemadoc.function.setaddtable-int-integer-integer-text-name-text">setaddtable_int( integer, integer, text, name, text )</a></li><li><a href="#schemadoc.function.storelisten-integer-integer-integer">storelisten( integer, integer, integer )</a></li><li><a href="#schemadoc.function.storelisten-int-integer-integer-integer">storelisten_int( integer, integer, integer )</a></li><li><a href="#schemadoc.function.storenode-integer-text">storenode( integer, text )</a></li><li><a href="#schemadoc.function.storenode-int-integer-text">storenode_int( integer, text )</a></li><li><a href="#schemadoc.function.storepath-integer-integer-text-integer">storepath( integer, integer, text, integer )</a></li><li><a href="#schemadoc.function.storepath-int-integer-integer-text-integer">storepath_int( integer, integer, text, integer )</a></li><li><a href="#schemadoc.function.storeset-integer-text">storeset( integer, text )</a></li><li><a href="#schemadoc.function.storeset-int-integer-integer-text">storeset_int( integer, integer, text )</a></li><li><a href="#schemadoc.function.storetrigger-integer-name">storetrigger( integer, name )</a></li><li><a href="#schemadoc.function.storetrigger-int-integer-name">storetrigger_int( integer, name )</a></li><li><a href="#schemadoc.function.subscribeset-integer-integer-integer-boolean">subscribeset( integer, integer, integer, boolean )</a></li><li><a href="#schemadoc.function.subscribeset-int-integer-integer-integer-boolean">subscribeset_int( integer, integer, integer, boolean )</a></li><li><a href="#schemadoc.function.tableaddkey-text">tableaddkey( text )</a></li><li><a href="#schemadoc.function.tabledropkey-integer">tabledropkey( integer )</a></li><li><a href="#schemadoc.function.tablehasserialkey-text">tablehasserialkey( text )</a></li><li><a href="#schemadoc.function.uninstallnode">uninstallnode( )</a></li><li><a href="#schemadoc.function.unlockset-integer">unlockset( integer )</a></li><li><a href="#schemadoc.function.unsubscribeset-integer-integer">unsubscribeset( integer, integer )</a></li><li><a href="#schemadoc.function.unsubscribeset-int-integer-integer">unsubscribeset_int( integer, integer )</a></li>
</ul>
</ul>
@@ -300,20 +300,1557 @@
<hr>
<h2>Table:
+ <a name="schemadoc.table.sl-event">sl_event</a>
+ </h2>
+
+ <p>Holds information about replication events.
+
+After a period of time, Slony removes old confirmed events from both this table and the sl_confirm table.
+
+ev_origin : Integer. The ID # (from sl_node.no_id) of the source node for this event
+ev_seqno : Integer. The ID # for the event
+ev_timestamp : Timestamp. When this event record was created
+ev_minxid :
+ev_maxxid :
+ev_xip : String.
+ev_type : String. The type of event this record is for.
+
+ SYNC = Synchronise
+ STORE_NODE =
+ ENABLE_NODE =
+ DROP_NODE =
+ STORE_PATH =
+ DROP_PATH =
+ STORE_LISTEN =
+ DROP_LISTEN =
+ STORE_SET =
+ DROP_SET =
+ MERGE_SET =
+ SET_ADD_TABLE =
+ SET_ADD_SEQUENCE =
+ STORE_TRIGGER =
+ DROP_TRIGGER =
+ MOVE_SET =
+ FAILOVER_SET =
+ SUBSCRIBE_SET =
+ ENABLE_SUBSCRIPTION =
+ UNSUBSCRIBE_SET =
+ DDL_SCRIPT =
+ ADJUST_SEQ =
+</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_event Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+
+ </td>
+ <td>ev_origin</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+
+
+ </td>
+ <td>ev_seqno</td>
+ <td>bigint</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_timestamp</td>
+ <td>timestamp without time zone</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_minxid</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_maxxid</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_xip</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_type</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_data1</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_data2</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_data3</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_data4</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_data5</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_data6</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ev_data7</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ev_data8</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
<a name="schemadoc.table.sl-listen">sl_listen</a>
</h2>
- <p>Indicates how nodes listen to events from other nodes in the Slony-I network.
+ <p>Indicates how nodes listen to events from other nodes in the Slony-I network.
+
+li_origin : Integer. The ID # (from sl_node.no_id) of the node this listener is operating on
+li_provider : Integer. The ID # (from sl_node.no_id) of the source node for this listening event
+li_receiver : Integer. The ID # (from sl_node.no_id) of the target node for this listening event
+</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_listen Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+
+
+
+
+ </td>
+ <td>li_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+
+
+
+ <a href="#schemadoc.table.sl-path">sl_path.pa_server#1</a>
+
+
+ </td>
+ <td>li_provider</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+
+
+ <a href="#schemadoc.table.sl-path">sl_path.pa_client#1</a>
+
+
+ </td>
+ <td>li_receiver</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-log-1">sl_log_1</a>
+ </h2>
+
+ <p>Stores each change to be propagated to subscriber nodes
+
+log_origin - origin node from which the change came
+log_xid - transaction ID on the origin node
+log_table_id - the table ID (from sl_table.tab_id) that this log entry is to affect
+log_cmdtype - replication action to take. U = Update, I = Insert, D = DELETE
+log_cmddata - the data needed to perform the log action</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_log_1 Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_xid</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_tableid</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_actionseq</td>
+ <td>bigint</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_cmdtype</td>
+ <td>character(1)</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_cmddata</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-log-2">sl_log_2</a>
+ </h2>
+
+ <p>Stores each change to be propagated to subscriber nodes
+
+log_origin - origin node from which the change came
+log_xid - transaction ID on the origin node
+log_table_id - the table ID (from sl_table.tab_id) that this log entry is to affect
+log_cmdtype - replication action to take. U = Update, I = Insert, D = DELETE
+log_cmddata - the data needed to perform the log action</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_log_2 Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_xid</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_tableid</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_actionseq</td>
+ <td>bigint</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>log_cmdtype</td>
+ <td>character(1)</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>log_cmddata</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-node">sl_node</a>
+ </h2>
+
+ <p>Holds the list of nodes associated with this namespace. no_id is the unique ID number for the node; no_comment is a human-oriented description of the node</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_node Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+
+ </td>
+ <td>no_id</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>no_active</td>
+ <td>boolean</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>no_comment</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+ <p>Tables referencing this one via Foreign Key Constraints:</p>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-listen">sl_listen</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-path">sl_path</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-set">sl_set</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-setsync">sl_setsync</a></li>
+ </ul>
+
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-path">sl_path</a>
+ </h2>
+
+ <p>Holds connection information for the paths between nodes, and the synchronisation delay
+
+pa_server - The Node ID # (from sl_node.no_id) of the data source
+pa_client - The Node ID # (from sl_node.no_id) of the data target
+pa_conninfo - The PostgreSQL connection string used to connect to the source node.
+pa_connretry - The synchronisation delay, in seconds
+</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_path Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+
+
+
+
+ </td>
+ <td>pa_server</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+
+
+
+
+ </td>
+ <td>pa_client</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>pa_conninfo</td>
+ <td>text</td>
+ <td><i>
+
+
+ NOT NULL
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>pa_connretry</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+ <p>Tables referencing this one via Foreign Key Constraints:</p>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-listen">sl_listen</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-subscribe">sl_subscribe</a></li>
+ </ul>
+
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>View:
+ <a name="schemadoc.view.sl-seqlastvalue">sl_seqlastvalue</a>
+ </h2>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_seqlastvalue Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>seq_id</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seq_set</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>seq_reloid</td>
+ <td>oid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seq_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>seq_last_value</td>
+ <td>bigint</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+ <pre>
+SELECT sq.seq_id
+, sq.seq_set
+, sq.seq_reloid
+, s.set_origin AS seq_origin
+, schemadoc.sequencelastvalue
+(
+ (
+ (quote_ident
+ (
+ (pgn.nspname)::text
+ ) || '.'::text
+ ) || quote_ident
+ (
+ (pgc.relname)::text
+ )
+ )
+) AS seq_last_value
+FROM schemadoc.sl_sequence sq
+, schemadoc.sl_set s
+, pg_class pgc
+, pg_namespace pgn
+WHERE (
+ (
+ (s.set_id = sq.seq_set)
+ AND (pgc.oid = sq.seq_reloid)
+ )
+ AND (pgn.oid = pgc.relnamespace)
+);</pre>
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-seqlog">sl_seqlog</a>
+ </h2>
+
+ <p>Not documented yet</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_seqlog Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>seql_seqid</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seql_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>seql_ev_seqno</td>
+ <td>bigint</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seql_last_value</td>
+ <td>bigint</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-sequence">sl_sequence</a>
+ </h2>
+
+ <p>Similar to sl_table, each entry identifies a sequence being replicated.
+seq_id is an internally-used ID for Slony-I to use in its sequencing of updates
+seq_reloid is the OID of the sequence object
+seq_set indicates which replication set the object is in
+seq_comment is a human-oriented comment</p>
-li_origin : Integer. The ID # (from sl_node.no_id) of the node this listener is operating on
-li_provider : Integer. The ID # (from sl_node.no_id) of the source node for this listening event
-li_receiver : Integer. The ID # (from sl_node.no_id) of the target node for this listening event
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_sequence Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+
+ </td>
+ <td>seq_id</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seq_reloid</td>
+ <td>oid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-set">sl_set.set_id</a>
+
+
+ </td>
+ <td>seq_set</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>seq_comment</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-set">sl_set</a>
+ </h2>
+
+ <p>Holds definitions of replication sets.
+
+set_id is a unique ID number for the set.
+set_origin is the ID number of the source node for the replication set.
+set_locked indicates whether or not the set is locked.
+set_comment is a human-oriented description of the set.
</p>
<table width="100%" cellspacing="0" cellpadding="3">
- <caption>sl_listen Structure</caption>
+ <caption>sl_set Structure</caption>
+ <tr>
+ <th>F-Key</th>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+
+ </td>
+ <td>set_id</td>
+ <td>integer</td>
+ <td><i>
+
+ PRIMARY KEY
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+
+
+ </td>
+ <td>set_origin</td>
+ <td>integer</td>
+ <td><i>
+
+
+
+
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>set_locked</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>set_comment</td>
+ <td>text</td>
+ <td><i>
+
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
+ <p>Tables referencing this one via Foreign Key Constraints:</p>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-sequence">sl_sequence</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-setsync">sl_setsync</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-subscribe">sl_subscribe</a></li>
+ </ul>
+
+ <ul>
+ <li><a href="#schemadoc.table.sl-table">sl_table</a></li>
+ </ul>
+
+
+
+ <!-- View Definition -->
+
+
+ <!-- List off permissions -->
+
+
+ <p>
+ <a href="#index">Index</a> -
+ <a href="#schemadoc.schema">Schema schemadoc</a>
+ </p>
+
+ <hr>
+ <h2>Table:
+ <a name="schemadoc.table.sl-setsync">sl_setsync</a>
+ </h2>
+
+ <p>Not documented yet</p>
+
+
+
+ <table width="100%" cellspacing="0" cellpadding="3">
+ <caption>sl_setsync Structure</caption>
<tr>
<th>F-Key</th>
<th>Name</th>
@@ -325,21 +1862,21 @@
<td>
- <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+ <a href="#schemadoc.table.sl-set">sl_set.set_id</a>
</td>
- <td>li_origin</td>
+ <td>ssy_setid</td>
<td>integer</td>
<td><i>
+ PRIMARY KEY
- PRIMARY KEY
@@ -356,17 +1893,14 @@
<td>
-
-
- <a href="#schemadoc.table.sl-path">sl_path.pa_server#1</a>
+ <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
</td>
- <td>li_provider</td>
+ <td>ssy_origin</td>
<td>integer</td>
<td><i>
- PRIMARY KEY
@@ -374,6 +1908,18 @@
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ssy_seqno</td>
+ <td>bigint</td>
+ <td><i>
@@ -383,28 +1929,61 @@
</td>
</tr>
- <tr class="tr0">
+ <tr class="tr1">
<td>
+ </td>
+ <td>ssy_minxid</td>
+ <td>schemadoc.xxid</td>
+ <td><i>
- <a href="#schemadoc.table.sl-path">sl_path.pa_client#1</a>
+ </i>
</td>
- <td>li_receiver</td>
- <td>integer</td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+ </td>
+ <td>ssy_maxxid</td>
+ <td>schemadoc.xxid</td>
<td><i>
- PRIMARY KEY
+
+
+
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+
+ </td>
+ <td>ssy_xip</td>
+ <td>text</td>
+ <td><i>
+ </i>
+ </td>
+ </tr>
+ <tr class="tr0">
+ <td>
+ </td>
+ <td>ssy_action_list</td>
+ <td>text</td>
+ <td><i>
@@ -439,15 +2018,15 @@
<hr>
<h2>Table:
- <a name="schemadoc.table.sl-node">sl_node</a>
+ <a name="schemadoc.table.sl-subscribe">sl_subscribe</a>
</h2>
- <p>Holds the list of nodes associated with this namespace. no_id is the unique ID number for the node; no_comment is a human-oriented description of the node</p>
+ <p>Not documented yet</p>
<table width="100%" cellspacing="0" cellpadding="3">
- <caption>sl_node Structure</caption>
+ <caption>sl_subscribe Structure</caption>
<tr>
<th>F-Key</th>
<th>Name</th>
@@ -460,8 +2039,12 @@
+
+ <a href="#schemadoc.table.sl-set">sl_set.set_id</a>
+
+
</td>
- <td>no_id</td>
+ <td>sub_set</td>
<td>integer</td>
<td><i>
@@ -473,6 +2056,10 @@
+
+
+
+
</i>
</td>
@@ -481,14 +2068,22 @@
<tr class="tr1">
<td>
+
+ <a href="#schemadoc.table.sl-path">sl_path.pa_server#1</a>
+
+
</td>
- <td>no_active</td>
- <td>boolean</td>
+ <td>sub_provider</td>
+ <td>integer</td>
<td><i>
+
+
+
+
</i>
</td>
@@ -497,11 +2092,26 @@
<tr class="tr0">
<td>
+
+
+
+ <a href="#schemadoc.table.sl-path">sl_path.pa_client#1</a>
+
+
</td>
- <td>no_comment</td>
- <td>text</td>
+ <td>sub_receiver</td>
+ <td>integer</td>
<td><i>
+ PRIMARY KEY
+
+
+
+
+
+
+
+
@@ -510,28 +2120,49 @@
</td>
</tr>
- </table>
+ <tr class="tr1">
+ <td>
+ </td>
+ <td>sub_forward</td>
+ <td>boolean</td>
+ <td><i>
- <!-- Constraint List -->
+ </i>
+ </td>
+ </tr>
- <!-- Foreign Key Discovery -->
+ <tr class="tr0">
+ <td>
- <p>Tables referencing this one via Foreign Key Constraints:</p>
+ </td>
+ <td>sub_active</td>
+ <td>boolean</td>
+ <td><i>
- <ul>
- <li><a href="#schemadoc.table.sl-listen">sl_listen</a></li>
- </ul>
- <ul>
- <li><a href="#schemadoc.table.sl-path">sl_path</a></li>
- </ul>
+ </i>
+
+ </td>
+ </tr>
+
+ </table>
+
+
+
+
+
+ <!-- Constraint List -->
+
+
+ <!-- Foreign Key Discovery -->
+
<!-- View Definition -->
@@ -546,21 +2177,20 @@
<hr>
<h2>Table:
- <a name="schemadoc.table.sl-path">sl_path</a>
+ <a name="schemadoc.table.sl-table">sl_table</a>
</h2>
- <p>Holds connection information for the paths between nodes, and the synchronisation delay
+ <p>Holds information about the tables being replicated.
-pa_server - The Node ID # (from sl_node.no_id) of the data source
-pa_client - The Node ID # (from sl_node.no_id) of the data target
-pa_conninfo - The PostgreSQL connection string used to connect to the source node.
-pa_connretry - The synchronisation delay, in seconds
-</p>
+tab_id - unique key for Slony-I to use to identify the table
+tab_reloid - the OID of the table in pg_catalog.pg_class.oid
+tab_idxname - the name of the primary index of the table
+tab_comment - Human-oriented description of the table</p>
<table width="100%" cellspacing="0" cellpadding="3">
- <caption>sl_path Structure</caption>
+ <caption>sl_table Structure</caption>
<tr>
<th>F-Key</th>
<th>Name</th>
@@ -572,20 +2202,12 @@
<td>
- <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
-
-
-
</td>
- <td>pa_server</td>
+ <td>tab_id</td>
<td>integer</td>
<td><i>
-
-
-
-
PRIMARY KEY
@@ -602,14 +2224,28 @@
<tr class="tr1">
<td>
+ </td>
+ <td>tab_reloid</td>
+ <td>oid</td>
+ <td><i>
- <a href="#schemadoc.table.sl-node">sl_node.no_id</a>
+ </i>
</td>
- <td>pa_client</td>
+ </tr>
+
+ <tr class="tr0">
+ <td>
+
+
+ <a href="#schemadoc.table.sl-set">sl_set.set_id</a>
+
+
+ </td>
+ <td>tab_set</td>
<td>integer</td>
<td><i>
@@ -617,13 +2253,24 @@
- PRIMARY KEY
+ </i>
+
+ </td>
+ </tr>
+
+ <tr class="tr1">
+ <td>
+ </td>
+ <td>tab_idxname</td>
+ <td>name</td>
+ <td><i>
+ NOT NULL
</i>
@@ -634,8 +2281,8 @@
<td>
</td>
- <td>pa_conninfo</td>
- <td>text</td>
+ <td>tab_altered</td>
+ <td>boolean</td>
<td><i>
@@ -650,8 +2297,8 @@
<td>
</td>
- <td>pa_connretry</td>
- <td>integer</td>
+ <td>tab_comment</td>
+ <td>text</td>
<td><i>
@@ -676,7 +2323,7 @@
<p>Tables referencing this one via Foreign Key Constraints:</p>
<ul>
- <li><a href="#schemadoc.table.sl-listen">sl_listen</a></li>
+ <li><a href="#schemadoc.table.sl-trigger">sl_trigger</a></li>
</ul>
@@ -694,15 +2341,15 @@
<hr>
<h2>Table:
- <a name="schemadoc.table.sl-seqlog">sl_seqlog</a>
+ <a name="schemadoc.table.sl-trigger">sl_trigger</a>
</h2>
- <p>Not documented yet</p>
+ <p>Indicates the name of a trigger [for what purpose?]</p>
<table width="100%" cellspacing="0" cellpadding="3">
- <caption>sl_seqlog Structure</caption>
+ <caption>sl_trigger Structure</caption>
<tr>
<th>F-Key</th>
<th>Name</th>
@@ -713,42 +2360,25 @@
<tr class="tr0">
<td>
- </td>
- <td>seql_seqid</td>
- <td>integer</td>
- <td><i>
-
-
- </i>
- </td>
- </tr>
+ <a href="#schemadoc.table.sl-table">sl_table.tab_id</a>
- <tr class="tr1">
- <td>
</td>
- <td>seql_origin</td>
+ <td>trig_tabid</td>
<td>integer</td>
<td><i>
+ PRIMARY KEY
+
- </i>
- </td>
- </tr>
- <tr class="tr0">
- <td>
- </td>
- <td>seql_ev_seqno</td>
- <td>bigint</td>
- <td><i>
@@ -761,11 +2391,18 @@
<tr class="tr1">
<td>
+
+
</td>
- <td>seql_last_value</td>
- <td>bigint</td>
+ <td>trig_tgname</td>
+ <td>name</td>
<td><i>
+ PRIMARY KEY
+
+
+
+
@@ -2091,7 +3728,8 @@
</h2>
<h3>Returns: integer</h3>
<h3>Language: PLPGSQL</h3>
-
+ <p>Initiate failover from failed_node to backup_node. This function must be called on all nodes,
+and then waited for the restart of all node daemons.</p>
<pre>
declare
p_failed_node alias for $1;
@@ -2296,6 +3934,64 @@
<hr>
<h2>Function:
+ <a href="#schemadoc.schema"><a name="schemadoc.function.failednode2-integer-integer-integer-bigint-bigint">failednode2( integer, integer, integer, bigint, bigint )</a>
+ </h2>
+<h3>Returns: bigint</h3>
+<h3>Language: PLPGSQL</h3>
+ <p>FUNCTION failedNode2 (failed_node, backup_node, set_id, ev_seqno, ev_seqfake)
+
+On the node that has the highest sequence number of the failed node,
+fake the FAILED_NODE event.</p>
+ <pre>
+declare
+ p_failed_node alias for $1;
+ p_backup_node alias for $2;
+ p_set_id alias for $3;
+ p_ev_seqno alias for $4;
+ p_ev_seqfake alias for $5;
+ v_row record;
+begin
+ -- ----
+ -- Grab the central configuration lock
+ -- ----
+ lock table schemadoc.sl_config_lock;
+
+ select * into v_row
+ from schemadoc.sl_event
+ where ev_origin = p_failed_node
+ and ev_seqno = p_ev_seqno;
+ if not found then
+ raise exception 'Slony-I: event %,% not found',
+ p_failed_node, p_ev_seqno;
+ end if;
+
+ insert into schemadoc.sl_event
+ (ev_origin, ev_seqno, ev_timestamp,
+ ev_minxid, ev_maxxid, ev_xip,
+ ev_type, ev_data1, ev_data2, ev_data3)
+ values
+ (p_failed_node, p_ev_seqfake, CURRENT_TIMESTAMP,
+ v_row.ev_minxid, v_row.ev_maxxid, v_row.ev_xip,
+ 'FAILOVER_SET', p_failed_node::text, p_backup_node::text,
+ p_set_id::text);
+ insert into schemadoc.sl_confirm
+ (con_origin, con_received, con_seqno, con_timestamp)
+ values
+ (p_failed_node, schemadoc.getLocalNodeId('_schemadoc'),
+ p_ev_seqfake, CURRENT_TIMESTAMP);
+ notify "_schemadoc_Event";
+ notify "_schemadoc_Confirm";
+ notify "_schemadoc_Restart";
+
+ perform schemadoc.failoverSet_int(p_failed_node,
+ p_backup_node, p_set_id);
+
+ return p_ev_seqfake;
+end;
+</pre>
+
+ <hr>
+ <h2>Function:
<a href="#schemadoc.schema"><a name="schemadoc.function.failoverset-int-integer-integer-integer">failoverset_int( integer, integer, integer )</a>
</h2>
<h3>Returns: integer</h3>
@@ -3267,7 +4963,11 @@
</h2>
<h3>Returns: bigint</h3>
<h3>Language: PLPGSQL</h3>
+ <p>FUNCTION storeListen (li_origin, li_provider, li_receiver)
+generate STORE_LISTEN event, indicating that receiver node li_receiver
+listens to node li_provider in order to get messages coming from node
+li_origin.</p>
<pre>
declare
p_li_origin alias for $1;
@@ -3286,7 +4986,11 @@
</h2>
<h3>Returns: integer</h3>
<h3>Language: PLPGSQL</h3>
+ <p>FUNCTION storeListen_int (li_origin, li_provider, li_receiver)
+Process STORE_LISTEN event, indicating that receiver node li_receiver
+listens to node li_provider in order to get messages coming from node
+li_origin.</p>
<pre>
declare
p_li_origin alias for $1;
--- /dev/null
+++ doc/howto/localxid.sql
@@ -0,0 +1,9 @@
+-- $Id: localxid.sql,v 1.1 2004/07/30 20:44:01 cbbrowne Exp $
+
+-- Creates a "placeholder" XXID domain, used just to generate
+-- documentation.
+
+-- In reality, XXID is a type defined in C, but that isn't important
+-- for the documentation.
+
+create domain @NAMESPACE at .xxid integer not null;
\ No newline at end of file
Index: Makefile
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/doc/howto/Makefile,v
retrieving revision 1.3
retrieving revision 1.4
diff -Ldoc/howto/Makefile -Ldoc/howto/Makefile -u -w -r1.3 -r1.4
--- doc/howto/Makefile
+++ doc/howto/Makefile
@@ -32,18 +32,20 @@
BASEDIR=../../src/backend
BASESQL=$(BASEDIR)/slony1_base.sql
BASEFUNS=$(BASEDIR)/slony1_funcs.sql
+XIDSQL=localxid.sql
# Might want to add version-specific functions, too...
TEMPDB=schemadoc
TEMPSCHEMA=schemadoc
CREATELANG=/usr/lib/postgresql/bin/createlang # That's how it is for me...
AUTODOC=postgresql_autodoc
-schemadoc.html: $(BASESQL) $(BASEFUNS)
+schemadoc.html: $(BASESQL) $(BASEFUNS) $(XIDDIR)
createdb $(TEMPDB)
$(CREATELANG) plpgsql $(TEMPDB)
echo "drop schema $(TEMPSCHEMA);create schema $(TEMPSCHEMA);" | psql $(TEMPDB)
- cat $(BASESQL) $(BASEFUNS) | sed "s/@NAMESPACE@/$(TEMPSCHEMA)/g" | sed "s/@CLUSTERNAME@/$(TEMPSCHEMA)/g" | psql $(TEMPDB)
+ cat $(XIDSQL) $(BASEFUNS) $(BASESQL) | sed "s/@NAMESPACE@/$(TEMPSCHEMA)/g" | sed "s/@CLUSTERNAME@/$(TEMPSCHEMA)/g" | psql $(TEMPDB)
$(AUTODOC) -d $(TEMPDB) -s $(TEMPSCHEMA) -t html
clean:
-
+ dropdb $(TEMPDB)
+ rm schemadoc.html
\ No newline at end of file
- Previous message: [Slony1-commit] By cbbrowne: Add in (clunky) rules to generate documentation for tables
- Next message: [Slony1-commit] By cbbrowne: Change this to look at all nodes and request function
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list