ERROR: permission denied for relation [SQL State=42501]

Hallo,

folgendes Problem, beim SELECT Zugriff auf eine PostgreSQL DB :
ERROR: permission denied for relation [SQL State=42501]

Der Fehler kommt schlagartig bei einzelnen Tabellen.
Andere funktionieren ganz normal.

Im Web gibt es zu diesem Fehler viele viele Aussagen …

Gruß Lutz

Habe noch was vergessen : das Problem tritt nur bei einem user auf.
Andere können auf alle Tabellen zugreifen.

Basierend auf dem was Du uns gesagt hast, gibt es eigentlich nur eine Antwort:

Es fehlt ein “GRANT SELECT on … TO …” um dem Benutzer der das nicht darf, die entsprechenden Rechte zu geben.

O.K. Danke schon mal für die Antwort …

Was ich nicht verstehe : warum tritt das irgendwann zwischendurch auf einmal auf.
Die Tabelle die es betrifft, besteht schon. Maximal sind Daten hinein geschrieben worden.

Was ist der Trigger dafür ? dass auf einmal diese Fehlermeldung kommt ?

Vielleicht wird die Tabelle ge-dropped und neu angelegt, damit gehen auch die vergebenen Rechte verloren

Dann wären ja alle Daten weg … :open_mouth:

Dann bleibt nur die Möglichkeit das irgendwo ein REVOKE aufgerufen wird. Entweder von einer Rolle die das Recht beinhaltet oder direkt von dem Benutzer. Ohne ein REVOKE oder ein DROP TABLE gehen die Privilegien nicht “einfach so” verloren.

O.K. Vielen dank !
Ich lasse das jetzt die EDV testen :slight_smile:

So, jetzt muss ich doch noch mal was fragen. Unser EDV kriegt es nicht hin … :expressionless:

Ich will : GRANT SELECT ON ALL TABLES IN SCHEMA public TO dbuser ausführen lassen.
Wir haben PostgreSQL 8.2.0 und wenn ich das richtig gelesen habe,
funktioniert das ON ‘ALL’ TABLES dort noch nicht.

Wie wählt man dennoch ALL Tabellen aus ??

8.2? Das ist seit Dezember 2011 Out-Of-Support. Und dann auch noch die .0 - Version? Heiliger Strohsack!

Da bleibt nur, durch die Kataloge zu gehen und das für jede Tabelle separat zu machen (das ginge via Stored Proc). Aber eigentlich will man das nur endlich mal entsorgen und eine zeitgemäße Version nehmen.

Mist …

Entsorgen geht nicht. Das muss noch so lange laufen,
bis wir das auf einen MS SQL Server speichern …

ich glaube, ihr macht 'ne Menge falsch …