Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions pkg/cluster/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,11 @@ const (
last_entry_timestamp TIMESTAMP;
record_count INT;
BEGIN
IF pg_is_in_recovery() THEN
RAISE NOTICE 'Skipping pgbackrest_info update: running on a replica.';
RETURN;
END IF;

SELECT COUNT(*) INTO record_count
FROM exporter.pgbackrestbackupinfo;

Expand All @@ -122,18 +127,20 @@ const (
ORDER BY data_time DESC
LIMIT 1;

IF last_entry_timestamp < NOW() - INTERVAL '5 minutes' THEN
DELETE FROM exporter.pgbackrestbackupinfo;
ELSE
IF last_entry_timestamp >= NOW() - INTERVAL '5 minutes' THEN
RAISE NOTICE 'Skipping pgbackrest_info update: data does not need an update (last update at %).', last_entry_timestamp;
RETURN;
END IF;

DELETE FROM exporter.pgbackrestbackupinfo;
END IF;

EXECUTE format(
'COPY exporter.pgbackrestbackupinfo (data) FROM program ''pgbackrest info --output=json'' WITH (FORMAT text, DELIMITER ''|'')'
);
END;
$$ LANGUAGE plpgsql;

`
)

Expand Down
Loading