# Trigger auf pg\_stat\_replication

**URL:** <https://www.pg-forum.de/t/trigger-auf-pg-stat-replication/12740>\
**Category:** Trigger und Funktionen\
**Created:** [23. März 2023 um 18:20 UTC](https://www.pg-forum.de/t/trigger-auf-pg-stat-replication/12740 "2023-03-23T18:20:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Inoel](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/i/a88e4f/32.png) [@Inoel](https://www.pg-forum.de/u/Inoel)\
**Post date:** [23. März 2023 um 18:20 UTC](https://www.pg-forum.de/t/trigger-auf-pg-stat-replication/12740/1 "2023-03-23T18:20:37Z")

</div>

Hallo!  
Wir suchen gerade nach einem Weg unsere zwei Knoten Replikation zu überwachen, bis jetzt schauen wir dafür alle 3 sec in die pg\_stat\_replication und überprüfen, ob sie gefüllt ist. Wir hatten allerdings überlegt einen Trigger auf pg\_stat\_replication zu legen um die Info zu bekommen wenn sie leer ist.

Bis jetzt konnten wir noch keine Benachrichtigung erzeugen. Wir hatten schon gelesen, dass es eventuell daran liegen kann, dass es sich um eine VIEW handelt und wollten deshalb nachfragen, ob ihr euch auch schon daran versucht habt oder das ganze überhaupt keinen Sinn macht?

Danke für eure Hilfe 🙂

LISTEN datachange;

CREATE FUNCTION dataChange()  
RETURNS trigger  
LANGUAGE ‘plpgsql’  
AS $BODY$  
DECLARE  
data text;  
notification text;  
BEGIN  
– if we delete, then pass the old data  
– if we insert or update, pass the new data  
IF (TG\_OP = ‘DELETE’) THEN  
data = row\_to\_json(OLD);  
ELSE  
data = row\_to\_json(NEW);  
END IF;

notification = json\_build\_object(  
‘table’,TG\_TABLE\_NAME,  
‘action’, TG\_OP, – can have value of INSERT, UPDATE, DELETE  
‘data’, data);  
RAISE NOTICE ‘%’, notification;  
PERFORM pg\_notify(‘datachange’, notification);  
RETURN NEW;  
END  
$BODY$;

CREATE TRIGGER mytrigger2  
INSTEAD OF INSERT OR DELETE ON pg\_stat\_replication  
FOR EACH ROW  
EXECUTE PROCEDURE dataChange();

---

<div class="post-metadata">

**Author:** ![akretschmer](https://www.pg-forum.de/letter_avatar_proxy/v4/letter/a/a6a055/32.png) [@akretschmer](https://www.pg-forum.de/u/akretschmer)\
**Post date:** [23. März 2023 um 19:02 UTC](https://www.pg-forum.de/t/trigger-auf-pg-stat-replication/12740/2 "2023-03-23T19:02:05Z")

</div>

> [@Inoel](#):
>
> Wir suchen gerade nach einem Weg unsere zwei Knoten Replikation zu überwachen, bis jetzt schauen wir dafür alle 3 sec in die pg\_stat\_replication und überprüfen, ob sie gefüllt ist. Wir hatten allerdings überlegt einen Trigger auf pg\_stat\_replication zu legen um die Info zu bekommen wenn sie leer ist.

es wäre wohl sinnvoller, die Werte in den Feldern da zu überwachen (mit einem Monitoring-Tool) und Alarm zu schlagen, wenn die lag-Werte zu hoch werden sollten.

---

<div class="post-metadata">

**Author:** ![system](https://www.pg-forum.de/uploads/default/original/1X/dc97a981dd26692d5fb52e8b8fc7c090d7b9559a.png) [@system](https://www.pg-forum.de/u/system)\
**Post date:** [22. Mai 2023 um 19:02 UTC](https://www.pg-forum.de/t/trigger-auf-pg-stat-replication/12740/3 "2023-05-22T19:02:52Z")

</div>

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
