442 Stimmen

Zugriff verweigert für Relation

Ich habe versucht, folgenden einfachen SQL-Befehl auszuführen:

select * from site_adzone;

und ich habe diesen Fehler bekommen

FEHLER: Berechtigung verweigert für Relation site_adzone

Was könnte das Problem hier sein?

Ich habe auch versucht, select für andere Tabellen durchzuführen und das gleiche Problem erhalten. Ich habe auch versucht, dies zu tun:

GRANT ALL PRIVILEGES ON DATABASE jerry to tom;

aber ich habe diese Antwort von der Konsole erhalten

WARNUNG: Keine Berechtigungen wurden für "jerry" erteilt

Hat jemand eine Idee, was falsch sein könnte?

537voto

Chris Travers Punkte 23990

GRANT auf der Datenbank ist nicht das, was du brauchst. Gewähre die Berechtigung direkt auf den Tabellen.

Das Gewähren von Berechtigungen auf der Datenbank wird hauptsächlich verwendet, um Verbindungsrechte zu gewähren oder zu widerrufen. Dadurch kannst du festlegen, wer in der Datenbank etwas tun darf, wenn sie über ausreichende andere Berechtigungen verfügen.

Du willst stattdessen:

GRANT ALL PRIVILEGES ON TABLE side_adzone TO jerry;

Dies wird sich um das Problem kümmern.

346voto

sag Punkte 5135

Posting Ron E Antwort für das Gewähren von Berechtigungen für alle Tabellen, da es für andere nützlich sein könnte.

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO jerry;

132voto

user2757813 Punkte 1329

Zuerst mit der richtigen Datenbank verbinden und dann ausführen:

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO jerry;

95voto

Meirza Punkte 1308
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public to jerry;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public to jerry;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public to jerry;

50voto

zond Punkte 1439

Der 1. und wichtige Schritt ist die Verbindung zu Ihrer DB herzustellen:

psql -d IhreDBName

Schritt 2, Berechtigungen gewähren

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO Benutzername;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X