2015-04-24 40 views
7

所以我在Ubuntu上安装了postgresql9.3。 现在我必须创建一个新用户。所以一切都可能与超级用户postgres。但我需要为每个新的数据库创建一个新用户。在Ubuntu上创建用户postgres

所以我做了什么:

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

我还修改了/etc/postgresql/9.1/main/pg_hba.conf文件并更改本地frompeer的身份验证设置为MD5。

后,我已经重新启动Postgres的我想用我的新用户:

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

[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=> 

这是为什么努力和苏蟒是不是? 重要说明:我不会在我的Ubuntu中创建一个新的python用户,我希望这对postgres上的每个新用户都不是必需的。

+0

可能重复[如何在全新安装后登录并验证Postgresql?](http://stackoverflow.com/questions/2172569/how-do-i-login-and-authenticate-to-postgresql-新鲜安装后) –

回答

11

你在混合PostgreSQL用户和UNIX用户,这是完全不同的东西。

CREATE USER python with PASSWORD 'python'; 

该命令只创建一个PostgreSQL用户,不产生任何UNIX用户,您可以通过/etc/passwd文件显示的用户列表进行检查。

如果您还需要UNIX用户,则必须自己创建(或编写脚本)。

+0

谢谢,我现在明白了:) – lvthillo