BUG #17487: Parallel execution fails when original user is removed - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17487: Parallel execution fails when original user is removed
Date
Msg-id 17487-b44f2aa8ab499e20@postgresql.org
Whole thread Raw
Responses Re: BUG #17487: Parallel execution fails when original user is removed
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17487
Logged by:          Kirill Kravtsov
Email address:      kravtsov.k@gmail.com
PostgreSQL version: 14.3
Operating system:   Centos 7
Description:

We're using temporary credentials to access the DB. The temporary
credentials are granted a role and automatically become that role on
connect. As soon as temporary credential is removed while the connection is
still alive, any regular query would continue to work, however, a parallel
query would cause an error:

ERROR:  role with OID XXXXXX does not exist
CONTEXT:  parallel worker

Reproduction steps:

Session 1 (postgres):

$ psql -U postgres
create role testparallelrole;
create role testparalleluser with login password '1';
grant testparallelrole to testparalleluser;
alter role testparalleluser set role testparallelrole;

Session 2 (testparalleluser):

$ psql -U testparalleluser -d postgres;
show role; -- shows testparallelrole
set force_parallel_mode TO 1;
select count(*) from pg_class ; -- ok

Session 1 (postgres):

drop role testparalleluser;

Session 2 (testparalleluser):

set force_parallel_mode TO 0;
select count(*) from pg_class ; -- ok
set force_parallel_mode TO 1;
select count(*) from pg_class ; -- fails


pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #17485: Records missing from Primary Key index when doing REINDEX INDEX CONCURRENTLY
Next
From: Giorgio Saviane
Date:
Subject: Re: BUG #17449: Disk space not released