PostgreSQL 9.3.22 Documentation | ||||
---|---|---|---|---|
Prev | Up | Chapter 9. Functions and Operators | Next |
Currently PostgreSQL provides
one built-in event trigger helper function, pg_event_trigger_dropped_objects
.
pg_event_trigger_dropped_objects
returns a list of all object dropped by the command in whose
sql_drop event it is called. If called in
any other context, pg_event_trigger_dropped_objects
raises an error.
pg_event_trigger_dropped_objects
returns the following columns:
Name | Type | Description |
---|---|---|
classid | Oid | OID of catalog the object belonged in |
objid | Oid | OID the object had within the catalog |
objsubid | int32 | Object sub-id (e.g. attribute number for columns) |
object_type | text | Type of the object |
schema_name | text | Name of the schema the object belonged in, if any; otherwise NULL. No quoting is applied. |
object_name | text | Name of the object, if the combination of schema and name can be used as a unique identifier for the object; otherwise NULL. No quoting is applied, and name is never schema-qualified. |
object_identity | text | Text rendering of the object identity, schema-qualified. Each and every identifier present in the identity is quoted if necessary. |
The pg_event_trigger_dropped_objects
function can be
used in an event trigger like this:
CREATE FUNCTION test_event_trigger_for_drops() RETURNS event_trigger LANGUAGE plpgsql AS $$ DECLARE obj record; BEGIN FOR obj IN SELECT * FROM pg_event_trigger_dropped_objects() LOOP RAISE NOTICE '% dropped object: % %.% %', tg_tag, obj.object_type, obj.schema_name, obj.object_name, obj.object_identity; END LOOP; END $$; CREATE EVENT TRIGGER test_event_trigger_for_drops ON sql_drop EXECUTE PROCEDURE test_event_trigger_for_drops();
For more information about event triggers, see Chapter 37.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.