Re: REVOKE to an user that doesn't exist

From: Moreno Andreo <moreno(dot)andreo(at)evolu-s(dot)it>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: REVOKE to an user that doesn't exist
Date: 2018-12-12 15:09:08
Message-ID: 6de32efb-ba14-719a-de09-4a2c4fae298d@evolu-s.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Il 12/12/2018 15:39, Adrian Klaver ha scritto:
> On 12/12/18 5:11 AM, Moreno Andreo wrote:
>> Hi all,
>>
>> I'm trying to pg_upgrade a cluster from 9.1 to 10 (Windows 10, but I
>> don't think it matters).
>>
>> At a certain point an error is thrown while parsing a trigger:
>>
>> could not execute query: ERROR:  role "1067431" does not exist
>>
>> command was: REVOKE ALL ON FUNCTION "x"() FROM PUBLIC;
>> GRANT ALL ON FUNCTION "public"."x"() TO "1067431" WITH GRANT OPTION;
>>
>> Here's the evidence :-)
>
> The below is from the 9.1 cluster, correct?
Correct, 9.1.6, IIRC
>
>> postgres=# select * from pg_roles;
>>       rolname      | rolsuper | rolinherit | rolcreaterole |
>> rolcreatedb | rolcatupdate | rolcanlogin | rolreplication |
>> rolconnlimit | rolpassword | rolvaliduntil | rolconfig |   oid
>> ------------------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+---------
>>
>>   postgres         | t        | t          | t             | t |
>> t            | t           | t |           -1 | ********
>> |               |           |      10
>>   user1      | t        | t          | t             | t | t |
>> t           | t              |           -1 | ********
>> |               |           |   16393
>>   user2     | t        | t          | t             | t           |
>> t            | t           | t |           -1 | ********
>> |               |           |   16394
>>   user3       | f        | t          | f             | f | f |
>> t           | f              |           -1 | ********
>> |               |           |   16395
>>   user4 | f        | t          | t             | t           |
>> f            | t           | f              |           -1 | ********
>> |               |           | 1067432
>>   user5          | f        | t          | t             |
>> t           | f            | t           | f |           -1 |
>> ******** |               |           |   30602
>> (6 rows)
>>
>> So, no user with that OID. I checked in the trigger pointed to the
>> error and I found
>>
>> GRANT EXECUTE ON FUNCTION x() TO "1067431" WITH GRANT OPTION;
>
> I am not following as a trigger would not have that in its code.
>
> Are you referring to the function x()?
>
> If so is the GRANT in the function?
Sorry, the grant above is extracted from the CREATE statement that
PgAdmin3 shows when you click on the trigger

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2018-12-12 15:11:08 Re: Errors with schema migration and logical replication — expected?
Previous Message Tom Lane 2018-12-12 15:01:47 Re: REVOKE to an user that doesn't exist