bizrhythm
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
catalog_extension_event()
Parameters
Name
Type
Mode
IN
Definition
DECLARE obj RECORD; v_extname TEXT; v_is_local BOOLEAN := current_database() = 'postrhythm'; BEGIN FOR obj IN SELECT * FROM pg_event_trigger_ddl_commands() LOOP IF obj.object_type = 'extension' THEN v_extname := split_part(obj.object_identity, ' ', 1); BEGIN IF v_is_local THEN INSERT INTO catalog.extension_history (host, database, extname, event, new_version, source) SELECT 'dante', current_database(), e.extname, 'installed', e.extversion, 'event-trigger' FROM pg_extension e WHERE e.extname = v_extname; ELSE INSERT INTO public.postrhythm_extension_history (host, database, extname, event, new_version, source) SELECT 'dante', current_database(), e.extname, 'installed', e.extversion, 'event-trigger' FROM pg_extension e WHERE e.extname = v_extname; END IF; EXCEPTION WHEN OTHERS THEN RAISE WARNING 'catalog_extension_event: could not record % on %: %', v_extname, current_database(), SQLERRM; END; END IF; END LOOP; END;