We have steadfastly refused to provide protocol-level tools for things like "please change my user ID, and don't let anyone change it again via SQL," and that's a huge problem for things like connection poolers which can't parse all the SQL flowing through the connection (because figuring out what it does requires solving the Halting Problem) and wouldn't want to if they could for performance reasons. I think that's a huge mistake.
I very strongly agree. The inability to limit SET and RESET of SESSION AUTHORIZATION and ROLE is a huge pain point and it's far from the only one.