在 OSX LION 上创建 postgres 用户

在 OSX LION 上创建 postgres 用户

目前我没有postgres用户。

~$ sudo su - postgres
Password:
su: unknown login: postgres

因此,我按照这些说明快速启动 postgres http://www.sd-kyber.com/library/onlineNotes/psqlOSX.html,但在步骤中5,他们创建用户时引用的页面http://developer.apple.com/internet/opensource/postgres.html是一个断开的链接。

创建postgres用户的步骤是什么?还有一个问题,为什么postgres需要有postgres用户?其他数据库系统是否也需要它?

答案1

Lion 确实带有一个 postgres 用户(甚至一个 postgres 组),但其名称有一个“_”前缀(就像最新版本的 OS X 中的大多数系统帐户一样):

$ id _postgres
uid=216(_postgres) gid=216(_postgres) groups=216(_postgres),12(everyone),61(localaccounts)

答案2

Postgres 需要用户,因为在 Unix 中,出于安全原因,所有服务通常都有自己的用户。如果系统被攻破,这限制了接管整个系统的可能性。

现在 OSX Lion 标准附带 PgSQL,因此没有必要安装它。

二进制文件可以在以下位置找到:/usr/bin/psql或者在 cmd 中输入psql -d postgres -U postgres

如果失败,并且您已将系统从 Snow Leopard 更新为 Lion:

堆栈溢出:

这是 PATH 问题。Mac OSX Lion 现在在系统中包括 Postgresql。如果您执行 which psql,您可能会看到 usr/bin/psql,而不是 usr/local/bin/psql,后者是 HomeBrew 的正确路径。如果您运行 brew doctor,您应该会收到一条消息,指出您需要将 usr/local/bin 添加到 PATH 环境变量的开头。

编辑你的 .bash_profile 或 .profile,或者你正在使用的任何 shell,并添加:export PATH=/usr/local/bin:$PATH

作为 PATH 的第一个导出,然后退出 shell 会话或使用 source ~/.bash_profile 获取文件,现在应该可以再次正常使用了。

您还可以编辑 /etc/paths 并确保 /usr/local/bin 位于顶部。

如果由于其他原因您仍想添加用户:

# dscl / -create /Users/portingunix
# dscl / -create /Users/portingunix UserShell /bin/bash
# dscl / -create /Users/portingunix RealName "Porting Unix 
# dscl / -create /Users/portingunix UniqueID 503
# dscl / -create /Users/portingunix PrimaryGroupID 1000
# dscl / -create /Users/portingunix NFSHomeDirectory /Local/Users/portingunix
# passwd portingunix

相关内容