如题,确实如此,在mac os x上用brew安装postgresql时 ,它不像linux系统上会默认创建一个postgres的系统用户。postgresl的进程也会运行在当前用户下。
用命令:
brew info postgres
查看更多信息。
创建新的数据库用户名:
/usr/local/bin/createdb someusername
或者先打开数据库控制台:
/usr/local/bin/psql -d postgres
然后在控制台中建数据库用户:
CREATE USER someusername PASSWORD 'somepassword';
上述两个命令可以使用是因为brew在初始化数据库(initdb)时会做下面两件事:
- 用当前系统的登录用户:创建一个数据库的超级用户 (我的电脑的话就当然是当前用户zpf)
- 创建一个名叫postgres的数据库
注:这里之所以用全路径/usr/local/bin 启动命令是因为要使用brew提供的命令。而不是使用系统提供的位于
/usr/bin 的同名命令,或者自己无意安装的其他postgresql工具提供的同名命令,比如安装了postgres.app,macports等等。毕竟在mac osx下有多种方法可以安装postgresql数据库。