Tue Aug 31 14:52:32 PDT 2004
- Previous message: [Slony1-commit] By darcyb: Looks like I missed commiting this after my lex/yacc changes
- Next message: [Slony1-commit] By cbbrowne: Indicate need to run "set drop table" queries on all nodes,
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message:
-----------
Added in documentation on how to do a "SET DROP TABLE."
Modified Files:
--------------
slony1-engine/doc/howto:
helpitsbroken.txt (r1.4 -> r1.5)
-------------- next part --------------
Index: helpitsbroken.txt
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/doc/howto/helpitsbroken.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -Ldoc/howto/helpitsbroken.txt -Ldoc/howto/helpitsbroken.txt -u -w -r1.4 -r1.5
--- doc/howto/helpitsbroken.txt
+++ doc/howto/helpitsbroken.txt
@@ -155,3 +155,47 @@
ALL SETS. Thus, you can't restart numbering at 1 for a second set; if
you are numbering them consecutively, a subsequent set has to start
with IDs after where the previous set(s) left off.
+
+10. I need to drop a table from a replication set, and I can't see
+how to do that.
+
+This can be accomplished several ways, not all equally desirable ;-).
+
+a) You could drop the whole replication set, and recreate it with just
+the tables that you need. Alas, that means recopying a whole lot of
+data, and kills the usability of the cluster on the rest of the set
+while that's happening.
+
+b) Some day, someone will get around to implementing the Slonik
+command SET DROP TABLE, which will involve (roughly speaking) the
+following set of changes:
+
+ 1. Need to augment the grammar to know about "set drop table"
+
+ 2. Need to have a C function for set_drop_table
+
+ 3. Need a stored procedure, droptable(), which initiates the event
+
+ 4. Need another stored procedure, droptable_int() which does the
+ alterTableRestore(), tableDropKey()
+
+ 5. I presume (haven't looked) that slon needs to have a case
+ statement added to allow it to propagate the "DROP_TABLE"
+ event.
+
+That will happen when someone gets around to implementing it. The
+likely "first volunteer" is Chris Browne <cbbrowne at acm.org>, but if
+somone gets to it first, he won't mind too much.
+
+c) The _essential_ functionality of SET DROP TABLE is the bits in step
+4, droptable_int(). You can fiddle this by hand by finding the table
+ID for the table you want to get rid of, which you can find in
+sl_table, and then run three queries, on each host:
+
+ select _slonyschema.alterTableRestore(40);
+ select _slonyschema.tableDropKey(40);
+ delete from _slonyschema.sl_table where tab_id = 40;
+
+The schema will obviously depend on how you defined the Slony-I
+cluster. The table ID, in this case, 40, will need to change to the
+ID of the table you want to have go away.
- Previous message: [Slony1-commit] By darcyb: Looks like I missed commiting this after my lex/yacc changes
- Next message: [Slony1-commit] By cbbrowne: Indicate need to run "set drop table" queries on all nodes,
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list