Folgendes Szenario:
Ein select hat einen Ausführungsplan mit parallelen Anteilen.
Wenn ich diese Query ausführe erhalte ich ein
SQL-Fehler [42501]:
ERROR: permission denied for database “xyz”
DETAIL: User does not have CONNECT privilege.
CONTEXT: parallel worker
Setze ich nun max_parallel_workers_per_gather=0 kann die Query ausgeführt werden.
Aber ich möchte nicht die Parallelisierung ausschalten.
Was könnte der Grund für den Fehler sein. Mir ist nicht klar was ich an den Berechtigungen ändern muss, damit es mit Parallelisierung funktioniert?
Hi Castor, nein es wird nur auf lokale Tables zugegriffen.
Aber wieso sollten unterschiedliche Berechtigungen auf DB-Ressourcen bei paralleler und sequentieller Ausführung ziehen?
Mein - zugegeben sehr schwacher - Verdacht war etwas in der Richtung: der Benutzer der für die Anmeldung an dem foreign server (oder DbLink) verwendet wird, hat ein connection limit.
Aber wenn weder foreign tables, noch DbLink beteiligt sind, kann man das wohl ausschliessen.
Was ist denn die exakte Postgres Version? (Ausgabe von select version();)