> x...@thebuild.com wrote:
> 
>> b...@yugabyte.com wrote:
>> 
>> What are you seeing that I'm failing to?
> 
> It works correctly for me, on MacOS:
> 
> create user r1;
> revoke execute on function pg_terminate_backend from r1;
> 
> (reconnect as r1)
> 
> select pg_terminate_backend(123);
> 
> ERROR:  permission denied for function pg_terminate_backend

Yes—this is what you all say. I suspect some-or-other setting that I’m unaware 
of. I tried (part of) Tom's test, thus:

\c postgres postgres
drop user if exists joe;
create user joe;
\c - joe

At first, the attempt to connect as "joe" failed for me because I had hardened 
my "postgres" database thus:

revoke all on database postgres from public;
alter database postgres connection limit = 0;

I say this only to emphasize that there are always things that are critical 
that are elided in a testcase that tries to be minimal.

So it seems that there's something critical about my env that I'm failing to 
tell you all. But what can it be?

I just recruited a colleague to try Tom's minimal test. He saw what I did. That 
"joe" *is* able to invoke "pg_terminate_backend()" even after revoking execute 
on it from public. So he's doing the same pilot error as me.

Reply via email to