PostgreSQL - FATAL: Ident authentication failed for user
Solution 1
I found a workable solution from a combination of several different sources on the web.
Edit the configuration file
nano /var/lib/pgsql/data/pg_hba.configuration
Replace the first two ident
's with md5, like so:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident
Save file.
Then, restart the server
sudo systemctl restart postgresql
Lastly, grant all privileges on database testdb to hduser;
Solution 2
Check the log file in (for CentOS, probably in /var/lib/pgsql/data/pg_log
) for more details.
If the user doesn't exist, create it. With psql
, you can create a user like:
create role hduser with login, superuser;
Or from the command line:
createuser -s -e hduser
If identd
is not installed, install it:
yum install authd xinetd
Then edit /etc/xinet.d/auth
and change disable = yes
to disable = no
:
service auth
{
disable = no
socket_type = stream
....
}
And restart the xinetd
service:
systemctl restart xinetd
Related videos on Youtube
usr
Updated on June 04, 2022Comments
-
usr almost 2 years
I've created a simple table in postgres called
employees
in databasemytestdb
I would like to import this table into hdfs.
bin/sqoop import --connect 'jdbc:postgresql://127.0.0.1/mytestdb' --username user -P --table employees --target-dir /user/postgres
But, I keep receiving an error:
WARNING: SQLException occurred while connecting to 127.0.0.1:5432 org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "user" at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:473)
/var/lib/pgsql/data/pg_hba.conf
set up as follows:# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. #local replication postgres peer #host replication postgres 127.0.0.1/32 ident #host replication postgres ::1/128 ident
-
Andomar almost 6 yearsIs your server running
identd
on tcp port 113? What do the postgres logs say (on centos, probably /var/lib/pgsql/data/logs) ? -
usr almost 6 yearsHow would I know identd is running? I don't have /var/lib/pgsql/data/logs, but there's /var/lib/pgsql/data/pg_log and then today's log: postgresql-Sun.log in this directory
-
Andomar almost 6 yearsThat's the right log, anything useful in it? Check if identd is running with commands like
service identd status
,ps afx | grep identd
,telnet localhost 113
,netstat -a
-
wildplasser almost 6 yearsHow would I know identd is running?
telnet localhost 113
#ftfy