Postgres erstellt neuen Benutzer/neue Rolle

Postgres erstellt neuen Benutzer/neue Rolle

Ich folge diesem Tutorial und führe, als Postgres angemeldet, Folgendes aus: createuser --interactive

angegebener Name und ausgewählter Superuser

Dann:

createdb dogspot

aber beim Versuch

sudo -i -u dogspot

Ich bekomme:

postgres@ip-172-31-12-126:/home/ubuntu$ sudo -i -u dogspot
sudo: unknown user: dogspot
sudo: unable to initialize policy plugin

aber der Benutzer existiert mit Sicherheit, denn wenn ich versuche, einen neuen Benutzer zu erstellen, wird eine Meldung angezeigt, dass bereits einer existiert. Einige Hinweise, wie man es richtig macht, wären willkommen.

DB-Version:

psql (PostgreSQL) 9.3.4

OS Version:

Ubuntu 14.04 LTS

AKTUALISIEREN:

anscheinend war alles nötig, um vorher einen Linux-Benutzer mit entsprechendem Namen zu erstellen:

sudo useradd -d /home/dogspot -m dogspot

sudo passwd dogspot

Antwort1

Sie verwechseln PostgreSQL-Benutzer und Betriebssystembenutzer.

Ein PostgreSQL-Benutzer kann ohne einen entsprechenden Betriebssystembenutzer existieren.

Standardmäßig verwenden Verbindungen peereine Authentifizierung. Dabei müssen Sie als Betriebssystembenutzer mit demselben Namen wie der PostgreSQL-Benutzer ausgeführt werden, mit dem Sie eine Verbindung herstellen möchten.Sie können das pg_hba.confjedoch ändern in, für alle Benutzer oder nur für einige Benutzer/DBs. Weitere Einzelheiten finden Sie imClient-AuthentifizierungKapitel.

verwandte Informationen