PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erhalte ich den Namen der geänderten Tabelle in einem Postgres-Ereignisauslöser?

Die Variablen, die plpgsql in einem Trigger zur Verfügung stehen, werden hier definiert:

http://www.postgresql .org/docs/9.3/static/plpgsql-trigger.html#PLPGSQL-EVENT-TRIGGER-EXAMPLE

Was ich dem Text nicht entnehmen kann, ist, wie viele 'Ereignis'-Variablen es gibt. Sicherlich gibt es zwei:

TG_EVENT
Data type text; a string representing the event the trigger is fired for.

TG_TAG
Data type text; variable that contains the command tag for which the trigger is fired.

Sie können diese in Ihrer Funktion ausdrucken, um zu sehen, ob sie die gesuchten Tabelleninformationen enthalten. Die Dokumentation zeigt eine Reihe anderer Variablen, die für regelmäßige Ereignisse vorgesehen sind. Ich weiß nicht, ob das hilft, aber vielleicht ist TG_TABLE_NAME gesetzt?