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