Open
Description
Некоторые функции модуля 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)
...