Connecting Postgre with Neo4j using ETL Tool

I am trying to connect Neo4j with an existing database in Postgre using the ETL Tool but I don t know which information should i write in user and password. I keep getting this error:

nov 15, 2022 12:23:02 P.�M. org.postgresql.Driver connect
GRAVE: Connection error:
org.postgresql.util.PSQLException: The authentication type 10 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication scheme supported by the driver.
at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:614)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:222)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.(PgConnection.java:194)
at org.postgresql.Driver.makeConnection(Driver.java:431)
at org.postgresql.Driver.connect(Driver.java:247)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
at org.neo4j.etl.rdbms.Support.testConnection(Support.java:32)
at org.neo4j.etl.rdbms.Support.main(Support.java:74)

Connection failed. SQL state: 08004, message: The authentication type 10 is not supported. Check that you have configured the pg_hba.conf file to include the client's IP address or subnet, and that it is using an authentication scheme supported by the driver.

@jaimeb The error is on the Postgres side. A quick Google of that error might set you in the right direction :slightly_smiling_face:

Sorry John, I don't think that is correct. I think the right thing to do would be update the client to use SCRAM-SHA authentication method.

1 Like

Apologies for necroing this old thread. I feel it's important to properly address this issue considering modern Postgres databases use scram-sha-256 instead of md5 for password encryption by default.

The error "The authentication type 10 is not supported." means your JDBC driver does not support SCRAM‑SHA‑256, or if it does, the preferred encryption method is md5.

For those looking for the workaround:

  1. You need to set the password_encryption flag of your postgres instance to md5
  2. Then, reset your password by running: ALTER ROLE postgres WITH PASSWORD 'my_secret_password'. You can use the same password.

Even when using the latest JDCB driver (postgresql-42.7.5), it looks like the neo4j ETL tool uses password_encryption=md5 in the config files.

If anyone knows where to find the postgresql.conf that neo4j ETL uses, that'd be great. But the default behavior should be to update the client to use SCRAM-SHA-256 as what chriscoupal said.