在我的系统上,whoami
返回Dan
. 我initdb
带着这个--username=PgUser
论点跑。然后作为操作系统用户Dan
,我pg_ctl start
在新初始化的集群上运行,它给出了以下输出:
LOG: database system was shut down at 2013-06-13 00:54:33 UTC
LOG: autovacuum launcher started
LOG: database system is ready to accept connections
FATAL: role "Dan" does not exist
done
server started
服务器似乎已正常启动。我相信发生错误是因为它希望我以pg_ctl
名为PgUser
. 我想知道的是:
- 这种信念正确吗?
- 有没有办法将用户指定为
PgUser
不使用su
?我不希望创建一个新的操作系统用户,而是希望使用具有不同用户名的 PostgreSQL 用户(我正在做一些代码重构,使这更方便)。 - 我开始的实例是否因为我以操作系统用户身份启动而以某种方式瘫痪
Dan
?
当您
pg_ctl start
使用-w
(wait) 选项运行时会发生这种情况,因为它将尝试与不存在的用户(在您的情况下)进行测试连接。但这并不是真正的问题(除了令人困惑的错误消息),因为这证明服务器已启动。