I just came across something odd in v12 that is still there in v13: ExecGrant_Parameter uses InvokeObjectPostAlterHook not InvokeObjectPostAlterHookArgStr. This seems pretty inconsistent. Is there a good argument for it?
... or, for that matter, why is there any such call at all? No other GRANT/REVOKE operation calls such a hook. regards, tom lane