Wie kann ich den Tabellennamen in einer PostgreSQL-Triggerfunktion ermitteln?

Ich habe eine Triggerfunktion:

CREATE OR REPLACE FUNCTION "trigger_deleteUsers"()
RETURNS trigger AS
$BODY$
BEGIN
    INSERT INTO "DeletedEntities" ("uuidKey", "dateCreated", "dateModified", "dateSynced", "username", "entityName")
         VALUES (OLD."uuidKey", OLD."dateCreated", OLD."dateModified", "dateSynced", OLD."username", 'Users');
    RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql;

CREATE TRIGGER "deleteUsers" AFTER DELETE ON "Users" FOR EACH ROW EXECUTE PROCEDURE "trigger_deleteUsers"();

Dies funktioniert für die Tabelle "Benutzer". Jedes Mal, wenn ich eine Zeile aus der Tabelle "Users" lösche, fügt die Datenbank eine Zeile mit ("uuidKey", "dateCreated", "dateModified", "dateSynced", "username", "entityName") in die Tabelle "DeletedEntities" ein Ich werde später für Synchronisierungszwecke verwenden.

Das obige funktioniert. Hier ist mein Problem, ich habe etwa zwei Dutzend Tische. Ich weiß, dass ich TRIGGER für jede Tabelle erstellen muss, aber ich möchte nicht für jede Tabelle eine benutzerdefinierte Triggerfunktion erstellen müssen. Das einzige, was sich gegenüber der obigen ersten Funktion ändern würde, ist der letzte Wert in der INSERT-Anweisung innerhalb der Funktion. anstelle von 'Users' wäre es "Ledgers" oder "Journal" oder was auch immer.

Wie erhalte ich in einer PostgreSQL-Triggerfunktion den Namen der Tabelle, zu der auch die ALTE Zeile gehört?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage