尝试使用以下指南在 CentOS 6.5 上安装带有 Nginx 的 Ruby on Rails 的 PostgreSQL: http://karolgalanciak.com/blog/2013/07/19/centos-6-4-server-setup-with-ruby-on-rails-nginx-and-postgresql/
安装后,我去配置用户,然后发出命令sudo su postgres
。psql
当我执行此操作时,出现以下错误:
could not change directory to "/root": Permission denied
psql (9.3.4)
忽略这一点,我发出了命令:
alter user postgres with password 'postgres-user-password';
然后我将 auth 方法更改为 md5 dy 执行以下操作:
sudo vi /var/lib/pgsql/9.3/data/pg_hba.conf
当我执行此操作时,系统会显示以下提示:
[sudo] password for postgres:
Sorry, try again.
无论我输入什么密码,即使密码与我刚刚设置的密码完全相同,也会收到提示。
尝试按照 user716468 的帖子中的说明进行操作,但没有成功: 全新安装后,postgres 的默认超级用户名/密码是什么?
当我这样做时,sudo -u postgres psql postgres
有人告诉我:
postgres is not in the sudoers file. This incident will be reported.
You have new mail in /var/spool/mail/root
这里有什么问题?
答案1
首先,总是总是使用 sudo 时,请使用 -l 或直接使用 -。例如,“ sudo su - postgres
” 而不是“ sudo su postgres
”。这可确保您正确选择目标用户环境。
听起来你正在以 root 用户身份使用 sudo。这是不必要的。root 用户已经拥有所需的权限。
如果您希望用户使用 sudo,那么您需要在 /etc/sudoers 中配置适当的配置条目。由于 postgres 帐户是服务帐户,因此最好使用不是为 postgres 创建 sudoers 条目。最好以 root 身份执行此操作或从“普通”帐户执行 sudo。