Postgres pg_hba.conf - ruby-on-rails

There is server being set-up for one of my client, after installations of postgres when we run
the server we are encountering the error below. When I goggled for it there were a few solutions available but none worked for me, could you look into it and say what's happening.
Status: 500 Internal Server Error
FATAL: no pg_hba.conf entry for host "127.0.0.1", user "syr_admin", database "allprosh_production", SSL off
My pg_hba.conf file:
local all all md5
host samerole all 127.0.0.200 255.255.255.255 pam pamservice=postgresql_cpses
host samerole all 127.0.0.1 255.255.255.255 md5
local all postgres md5
host all postgres 127.0.0.1 255.255.255.255 md5
local all all trust
Thanks in Advance.

I figured it out myself, though it took a long time. The solution was simple, I just had to add an entry in the pg_hba.conf file for that particular user. This is what I did:
local all syr_admin md5
host all syr_admin 127.0.0.1 255.255.255.255 md5
Hope this helps others... :-)

I think that the just configuration is:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
If you want connect by other network use:
host all all network address/32 md5
use the two octet 192.159.0.0 for example

I reply here cause I can't comment your solution.
It is not mandatorry to add the entry to that specific user only. You can replace the option "samerole" with the database or all.
I'm seeing that 2 of the lines that you have are collisioning each other.
local all all md5
local all all trust
In this case, last line wins, so be careful to add unexpected behaviors on your access methods. If you want to ask the password for the universe on local, you must delete the last line.
Hope that this helps !

For the localhost authentification on PostgreSQL with the user postgres , your hba.conf must have this line :
# IPv6 local connections:
host all postgres ::1/128 trust
For to be sure, you can add this other line :
# IPv4 local connections:
host all postgres 127.0.0.1/32 trust
Note : You can change the method ao authentification from trust to md5 .

Related

Rails Postgres fe_sendauth: no password supplied error

I have been stuck with the following issue, which is popular question that was asked multiple times but none has worked for me. I see the following error when trying to rake db:create or rails s:
ActiveRecord::ConnectionNotEstablished (fe_sendauth: no password supplied)
I tried to create a new DB user but my psql fails with the following error:
Password for user <root_username>:
psql: error: FATAL: password authentication failed for user "<root_username>"
I've updated my pg_hba.conf file to use the trust method as suggested by many answers:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all <root_username> trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all trust
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
Finally, this is what my database.yml file looks like:
development:
<<: *default
database: datab_development
#username: datab
#host: localhost
I am using OSX 11 (Big Sur). Been hitting walls since this morning, any help would be greatly appreciated! Thanks!

Connecting to Postgres 9.5 DB in rails results in FATAL no pg_hba.conf

I'm trying to connect to my RDS database via rails console but seem to be hitting the following issue:
/gems/pg-0.20.0/lib/pg.rb:56:in `initialize': FATAL: no pg_hba.conf entry for host "94.xx.xxx.xx", user "DATABASE_NAME", database USERNAME, SSL off (PG::ConnectionBad)
I've come across a handful of similar questions surrounding this such as:
connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host
Rake aborted after FATAL no pg_hba.conf entry
no pg_hba.conf entry for host
My pg_hba.conf currently looks like:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
local all all md5
hostnossl all all 0.0.0.0/0 trust
host <DB_NAME> <USERNAME> 94.XXX.XXX.XXX/32 trust
I've tried also tried adding the following line to my pg_hba.conf stopped and started the postgres service and still i'm still running into the same issue.
hostnossl all all 0.0.0.0/0 trust
I also have the following in my postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*'
I've ran out of ideas on what I could be missing

Zabbix frontend Error connecting to database

I am having a problem at zabbix web interface, it won't connect to the database as I receive this error: Error connecting to database.
Here are two screenshots from both files:
/etc/zabbix/zabbix_server.conf
/usr/share/zabbix/conf/zabbix.conf.php.example
Any help?
Thanks!
Can you access to a shell and connect to the zabbix database directly ?
In your configuration files, it seems that you use PostgreSQL.
It is written that you have to indicate the DBSchema variable if you use PostgreSQL.
However you didn't declare it.
In your case, the password should be in quotation marks: DBPassword="zabbix"
I faced the same problem. It is resolved by changing "Database host" from localhost to 127.0.0.1 in DB connection and changing the pg_hba.conf as below
host all all 127.0.0.1/32 password
Zabbix GUI
I have same problem with Centos+Postgre+Zabbix stack. And problem was with ident auth:
You need go to /var/lib/pgsql/data/pg_hba.conf (default path)
and change ident in this:
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
to md5
After this restart postgresql service and you can check connection by command:
psql -h localhost -U <your_zabbixdb_user> <your_zabbix_db>

Unable to get through Postgres connection with ActiveRecord

For sake of Lord, I'm unable to understand why postgres is complaining about password authentication(using ActiveRecord).
sudo -u postgres psql rdb
This work (no password is asked)
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
But when connecting with an ORM like ActiveRecord it complains.
ActiveRecord::Base.establish_connection(adapter: 'postgresql', username: 'postgres', database: 'rdb')
The server requested password-based authentication, but no password was provided.
This a basic setup and I was expecting this to work all the time. My last resort would be to allow trust or md5(on pg_hba.conf) but before I move ahead with that can some please provide me with some pointer as to why the above did not work.
Just an update postgres is running at localhost
The sudo command is triggering the local all postgres peer restriction, not asking for a password. The ActiveRecord configuration with the postgresql adapter uses this:
:host - Defaults to a Unix-domain socket in /tmp. On machines without
Unix-domain sockets, the default is to connect to localhost.
Do you have working sockets on your machine? Is /tmp writeable? It might be the case that a TCP connection to 127.0.0.1 is used, triggering the password check as indicated by md5.

`initialize': fe_sendauth: no password supplied (PG::ConnectionBad)

I am new to postgresql. I am trying to use postgresql with ruby on rails. I have just installed postgresql and I have just created my database. But when I try to run postgresql on localhost on port 5432 I get the above error.
Yeah, I figured out the solution:
I changed my settings in pg_hba.conf to
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
where initially instead of trust it was md5.
Then just doing service postgresql restrart did the trick!!

Resources