Ich habe mit dem folgenden Befehl ein Superuser-Portal erstellt
create role portal with superuser password 'portal'
Beim Versuch, mich mit einem Portalbenutzer bei postgres anzumelden, wird die folgende Fehlermeldung in Rails angezeigt.
FATAL: role "portal" is not permitted to log in
Ich kann nicht verfolgen, was los ist.
Natürlich kann ich den Benutzer mit dem Anmeldebefehl ändern, damit sich der Portalbenutzer anmelden kann. Ich würde gerne verstehen, warum sich Superuser nicht anmelden können.
postgresql
Antonius
quelle
quelle
role
man sich niemals einloggen kann. Sie sollten verwenden,create user
wenn Sie etwas wollen, das sich einloggen kann.CREATE ROLE
undCREATE USER
, siehe Craigs Antwort.Antworten:
Sie haben das
LOGIN
Recht nicht angegeben :Wenn Sie
CREATE USER
stattdessenCREATE ROLE
dasLOGIN
Recht verwenden, wird es automatisch gewährt; Andernfalls müssen Sie dies in derWITH
Klausel derCREATE
Anweisung angeben .Superuser haben nicht von Natur aus das
LOGIN
Recht; Für dieses Recht wird weiterhin eine Berechtigungsprüfung für den Superuser durchgeführt. Der Grund dafür ist, dass Sie eine Superuser-Rolle haben können, die Sie könnenSET ROLE
, aber nicht so direkt verbunden werden können.quelle
quelle