On 18.03.24 11:01, jian he wrote:
select relname from pg_class where relisshared and relkind = 'r'; relname ----------------------- pg_authid pg_subscription pg_database pg_db_role_setting pg_tablespace pg_auth_members pg_shdepend pg_shdescription pg_replication_origin pg_shseclabel pg_parameter_acl (11 rows)EventTriggerSupportsObject should return false for the following: SharedSecLabelRelationId SharedDescriptionRelationId DbRoleSettingRelationId SharedDependRelationId but I am not sure ReplicationOriginRelationId.
EventTriggerSupportsObject() (currently named EventTriggerSupportsObjectClass()) is only used by the deletion code, and these additional classes are not supported there anyway. Also, if they happen to show up there for some reason, then EventTriggerSQLDropAddObject() would error out in getObjectIdentityParts() or getObjectTypeDescription(). So you wouldn't get an event trigger firing on a previously unsupported class by accident. So I think this is robust enough.
