postgrespro/mamonsu

Версия 3.5.2 модуль wal.py нет проверки if not Pooler.in_recovery():

sgrinko opened this issue · 1 comments

Некоторые функции модуля wal.py не могут быть выполнены на сервере который находится в режиме recovery
В частности: pg_catalog.pg_current_wal_lsn() - выдаёт ошибку
К примеру можно это сделать так:

    def run(self, zbx):

        # count of WAL files
        result = Pooler.run_sql_type("count_wal_files", args=["wal" if Pooler.server_version_greater("10.0") else "xlog"])
        zbx.send(self.key_count_wall.format("[]"), int(result[0][0]))

        if not Pooler.in_recovery():
            if Pooler.server_version_greater("10"):
                result = Pooler.query(self.query_wal_lsn_diff)
                zbx.send(self.key_wall.format("[]"), float(result[0][0]), self.DELTA_SPEED)
            else:
                result = Pooler.query(self.query_xlog_lsn_diff)
                zbx.send(self.key_wall.format("[]"), float(result[0][0]), self.DELTA_SPEED)
...

Добрый день! Добавили фикс в последний релиз.