我第一次将应用程序部署到数字海洋,遇到了两个(可能更多)问题。
1) 在将gem“unicorn”
添加到Gemfile后,我无法捆绑安装
。我发现kgio与windows不兼容。我必须要Gemfile吗。当我通过capistrano部署时是否存在锁?我如何解决这个问题?
group :production do
gem 'pg', '0.14.1'
gem "nginx"
gem 'unicorn'
end
2)我在服务器上的postgreql上遇到身份验证问题。
production:
adapter: postgresql
encoding: unicode
database: postgresql
pool: 5
username: postgresql
password: secret
我运行了这些命令(以及其他一些命令):
create user postgresql with password 'secret';
create database postgresql with owner postgresql;
每次我限制部署时,我都会收到这个错误:
FATAL: Peer authentication failed for user "postgresql"
我尝试输入一个我知道不存在的无效用户名,一个无效的数据库,但错误消息始终相同。根据postgreql网站,我应该会收到这些不同的错误……
如果我能得到一些帮助,那就太好了。谢谢大家!
您必须首先在 pg_hba.conf
文件中设置 Postgres 的密码或 md5(更安全:scram-sha-256,因为 Postgres 11)身份验证。
只要只允许ident或peer身份验证,就不会提示密码。您只能以与您的系统用户对应的db角色登录。
顺便说一句,数据库角色和操作系统用户通常被称为postgres,而不是postgresql。我想这不是错字吗?
在外壳中尝试:
sudo -u postgres -i
然后以postgres
db角色登录并进行对等身份验证。
看:
您需要指定密码验证的主机。
production:
adapter: postgresql
encoding: unicode
database: postgresql
pool: 5
host: localhost
username: postgresql
password: secret
更多细节在这里
当我创建一个新用户,但它无法登录数据库时。 我这样做: 然后创建一个数据库: 之后,我尝试登录,但出现错误: 我试图解决这个问题,但失败了。
我明白,如果添加-h localhost,它就可以工作了。 添加此标志是否会导致psql使用对等身份验证?
如何从管理员处访问postgres数据库? 我已更改用户的密码: 结果: 但我在管理员身上仍然会出现以下错误: 你知道为什么吗? 我有两个用户: 但是,当我使用以下命令创建用户时,我没有为其设置密码: 输出(为什么不要求密码??): 但我仍然得到管理员的错误: 编辑: 这是我的 我将更改为: 然后重启了我的机器。但还是没有运气。
我在尝试使用postgresql 11时遇到了rails 5.2.3的这个问题。 我一直在检查1号和2号 他们讨论pg_hba.conf以及如何将这些方法更改为md5或trust。在我的硬盘上,没有这样的文件。这些归档文件位于/var/lib/postgresql/11/: 如果我试图找到文件,它会出现在这里: 如果我进去,信任方法已经被使用了。 我已经卸载postgresql并再次安装它。 这是
运行时,会收到以下错误消息: 致命:用户"rails_dev"的身份验证失败 无法为{"适配器"=创建数据库 PG::ConnectionBad:FATAL:Ident身份验证用户“rails_dev” /home/whitehat/.rvm/gems/ruby-2.4.0/gems/PG-0.21.0/lib/PG.rb:56:in'initialize' /home/whitehat/.rvm
我似乎正确地安装了PostgreSQL 9.5.5。和Psycopg2,可以通过以下方式登录: