2015-04-24 14 views
7

So habe ich postgresql9.3 auf Ubuntu installiert. Jetzt muss ich einen neuen Benutzer erstellen. Mit dem Superuser postgres ist also alles möglich. Aber ich brauche für jeden neuen db einen neuen Benutzer.Erstelle User Postgres auf Ubuntu

Also, was ich tat:

sudo -u postgres psql 
CREATE USER python with PASSWORD 'python'; 
CREATE DATABASE dbpython; 
GRANT ALL PRIVILEGES ON DATABASE dbpython to python; 

ich auch die /etc/postgresql/9.1/main/pg_hba.conf Datei geändert und die Authentifizierungseinstellung des lokalen frompeer zu md5 ändern.

Nachdem ich neu gestartet habe Postgres ich meine neue Benutzer verwenden möchten:

[email protected]:~$ su python 
No passwd entry for user 'python' 

Aber

[email protected]:~$ sudo service postgresql restart 
* Restarting PostgreSQL 9.3 database server        [ OK ] 
[email protected]:~$ psql -d dbpython -U python 
Password for user python: 
psql (9.3.6) 
Type "help" for help. 

dbpython=> 

Warum ist, dass die Arbeit und die su Python nicht? Wichtiger Hinweis: Ich möchte keinen neuen Python-Benutzer in meinem Ubuntu erstellen, ich hoffe, dass dies nicht für jeden neuen Benutzer auf Postgres notwendig ist.

+0

Mögliche Duplikate von [Wie melde ich mich nach einer Neuinstallation bei Postgresql an und authentifiziere mich?] (Http://stackoverflow.com/questions/2172569/how-do-i-login-and-authenticate-to-postgresql- after-a-fresh-install) –

Antwort

11

Sie mischen PostgreSQL-Benutzer und UNIX-Benutzer, was eine ganz andere Sache ist.

CREATE USER python with PASSWORD 'python'; 

erstellen Dieser Befehl ist nur ein Benutzer PostgreSQL und erstellen keine UNIX-Benutzer, können Sie es überprüfen, indem Sie Benutzerliste auf /etc/passwd Datei anzuzeigen.

Wenn Sie auch einen UNIX-Benutzer haben möchten, müssen Sie ihn selbst erstellen (oder scripten).

+0

Danke, ich verstehe jetzt :) – lvthillo