londiste setup: only set replica role for EXECUTE transaction
authorMarko Kreen <markokr@gmail.com>
Thu, 25 Nov 2010 11:58:06 +0000 (13:58 +0200)
committerMarko Kreen <markokr@gmail.com>
Thu, 25 Nov 2010 11:58:06 +0000 (13:58 +0200)
otherwise cleanup triggers wont launch

python/londiste/setup.py

index 826ffdfca51231940cde35f82736b25e58af9fe9..66e3a6636b2bbffb003631d95e14d6920cd43a4f 100644 (file)
@@ -38,12 +38,6 @@ class LondisteSetup(CascadeAdmin):
 
         londiste.handler.load_handlers(self.cf)
 
-    def connection_hook(self, dbname, db):
-        if dbname == 'db':
-            curs = db.cursor()
-            curs.execute("set session_replication_role = 'replica'")
-            db.commit()
-
     def init_optparse(self, parser=None):
         """Add londiste switches to cascadeadmin ones."""
 
@@ -348,6 +342,10 @@ class LondisteSetup(CascadeAdmin):
     def cmd_execute(self, *files):
         db = self.get_database('db')
         curs = db.cursor()
+
+        # set replica role for EXECUTE transaction
+        curs.execute("set local session_replication_role = 'replica'")
+
         for fn in files:
             fname = os.path.basename(fn)
             sql = open(fn, "r").read()