From 6d17d39776d76ff602f09fdd9be967b9dac672a4 Mon Sep 17 00:00:00 2001 From: Alexander Kukushkin Date: Mon, 11 May 2015 10:06:18 +0200 Subject: [PATCH] Backport from compose/governor: compare xlog positions based on bytes since 0/000000 based on feedback --- helpers/postgresql.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers/postgresql.py b/helpers/postgresql.py index d8653e96..dd8ad4c6 100644 --- a/helpers/postgresql.py +++ b/helpers/postgresql.py @@ -146,7 +146,7 @@ class Postgresql: member_conn.autocommit = True member_cursor = member_conn.cursor() member_cursor.execute( - 'SELECT %s::pg_lsn - pg_last_xlog_replay_location() AS bytes', (self.xlog_position(), )) + "SELECT %s - (pg_last_xlog_replay_location() - '0/0000000'::pg_lsn)", (self.xlog_position(), )) xlog_diff = member_cursor.fetchone()[0] logger.info([self.name, member['hostname'], xlog_diff]) if xlog_diff < 0: @@ -216,7 +216,7 @@ primary_conninfo = '{}' self.replication['username']), self.replication['password']) def xlog_position(self): - return self.query('SELECT pg_last_xlog_replay_location()').fetchone()[0] + return self.query("SELECT pg_last_xlog_replay_location() - '0/0000000'::pg_lsn").fetchone()[0] def load_replication_slots(self): cursor = self.query("SELECT slot_name FROM pg_replication_slots WHERE slot_type='physical'")