我已经看了类似的问题,并尝试了一些方法,如编辑pg_hba文件以信任,并执行ALTER USER postgres PASSWORD'newPassword';但都不起作用。我确实重启postgres后做了这样的改变。
上下文是我为一家公司提供了一个web应用程序,我正试图通过命令bundle exec rake db:。。。
如果有帮助的话,我最初会遇到错误“PG::ConnectionBad:无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(::1)上运行并在端口5432上接受TCP/IP连接?无法连接到服务器:连接被拒绝服务器是否在主机“localhost”上运行(127.0.0.1)并在端口5432“centos”上接受TCP/IP连接
注意:当这发生时,我在centOS上。试着切换到ubuntu,同样的交易。然后我尝试安装PostgreSQL,因为在那之前,bundle安装命令只安装了pg。然后,这将错误消息更改为这篇文章的内容。我在VirtualBox上运行Ubuntu 19.10。如果有人知道如何解决这个问题,我们将不胜感激;我已经尝试了几个小时来解决这个问题。作为参考,扩展错误消息如下:
bundle exec rake db:create_organization['Organization Name']
rake aborted!
PG::ConnectionBad: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `initialize'
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `new'
/var/lib/gems/2.5.0/gems/pg-0.21.0/lib/pg.rb:56:in `connect'
/var/lib/gems/2.5.0/gems/activerecord-5.1.7/lib/active_record/connection_adapters/postgresql_adapter.rb:705:in `connect'
...
...
(more of the same)
...
...
/home/reeda19/dashboard/lib/tasks/onboarding/01_create_organization.rake:8:in `block (2 levels) in <top (required)>'
/var/lib/gems/2.5.0/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:create_organization
(See full trace by running task with --trace)
再次感谢你的帮助
编辑:config/database.yml文件:
违约:
发展:
测试:
登台:
制作:
编辑2:更新postgres用户密码,使其与database.yml文件中设置的密码相匹配,并使用ALTER user user_name和密码“new_password”;。我不再收到致命的密码错误,而是收到以下新错误:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation "businesses" does not exist
LINE 8: WHERE a.attrelid = '"businesses"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod,
c.collname, col_description(a.attrelid, a.attnum) AS comment
FROM pg_attribute a
LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum
LEFT JOIN pg_type t ON a.atttypid = t.oid
LEFT JOIN pg_collation c ON a.attcollation = c.oid AND a.attcollation <> t.typcollation
WHERE a.attrelid = '"businesses"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
不确定100%这是否是我的数据库的问题,或者更确切地说是psql的问题。
将根据任何进一步的进展进行更新。
最终编辑:一个简单的rake db:reset修复了这个新错误!看来现在一切都好了
尝试设置POSTGRESS_PASSWORD
(或PGPASSWORD
引用docs)环境变量,并在config/database.yml
文件中使用其值作为密码。
同时共享config/database.yml
文件也会有所帮助。
我使用Docker进行开发,偶尔会遇到这种错误。
编辑:也尝试运行rake db:重置
后进行此更改。
我最近安装了Postgresql 11,在安装过程中,没有为Postgres输入密码和用户名的步骤。现在在PGADMIN4中,我想将数据库连接到服务器,它要求我输入密码,而我一开始就没有输入任何密码。任何人都知道发生了什么。谢谢!
我获取密码身份验证失败。我试过使用peer、trust、Identit等方法。确保重新启动或重新加载conf。 用户postgres的密码:psql:致命:用户“postgres”的密码验证失败 我的pg\U hba。形态:
我才刚刚开始使用Git/GitHub就完全卡住了。我正在使用Mac/OSX El Capitan上的终端,当它询问密码时,它告诉我密码是无效的,但我输入的密码与我为GitHub帐户创建的密码相同,所以这肯定会起作用吗?我做错了什么?
我明白,如果添加-h localhost,它就可以工作了。 添加此标志是否会导致psql使用对等身份验证?
在我的Postgres服务器中,使用命令pg_createcluster监听端口5433创建了一个集群。要设置用户postgres的密码,我遵循以下步骤: 编辑文件nano/etc/postgresql/9.3//pg_hba.conf 改变线路 托管所有127.0.0.1/32 md5 按行 托管所有127.0.0.1/32信任 sudo-u postgres psql-h localhost-
这是git Remote的输出: