在 Mac 上切换到 postgres 用户

问题描述 投票:0回答:2

我想

su
Mac 上的 postgres 用户,以便我可以运行 postgres。

我在这里做错了什么?

delirium:~ anna$ sudo su postgres
delirium:~ anna$

什么也没发生。如果我尝试运行 postgres,我会得到这样的结果:

delirium:~ anna$ sudo pg_ctl -D /usr/local/var/postgres -l      
/usr/local/var/postgres/server.log startpg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.

如果我尝试这样做是为了

su
,我也会收到错误:

delirium:~ anna$ sudo su - postgres
su: no directory
delirium:~ anna$

我能做什么呢?我相当确定 postgres 用户存在。

postgresql osx-lion sudo su
2个回答
22
投票

这看起来与没有登录 shell 的 postgres 用户一致。试试

sudo -u postgres bash


2
投票

PostgreSQL 集成在 Server.app 中,可通过 Mountain Lion 中的 App Store 获取。

您将拥有此文件: /Library/Server/PostgreSQL/Config/org.postgresql.postgres.plist

您可以 sudo 以所有者身份运行 shell 命令:

sudo -u _postgres psql template1

或者使用所有授权连接到数据库:

psql -h localhost -U _postgres postgres
© www.soinside.com 2019 - 2024. All rights reserved.