Skip to content

Add support for auth_query based authentication to mirrored servers - #896

Open
joshcurtis wants to merge 1 commit into
postgresml:mainfrom
joshcurtis:add_auth_hash_support_in_mirrors
Open

joshcurtis wants to merge 1 commit into
postgresml:mainfrom
joshcurtis:add_auth_hash_support_in_mirrors

Conversation

@joshcurtis

Copy link
Copy Markdown

The change itself is fairly simple, just piping the auth_hash object to the mirror server pool.

The test was created by putting aping existing tests in mirror_spec.rb and auth_query_spec.rb.

I also updated the auth of the mirror instance to md5, since the connection failed silently when scram-sha-256 was used.

POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_INITDB_ARGS: --auth-local=scram-sha-256 --auth-host=scram-sha-256 --auth=scram-sha-256
POSTGRES_INITDB_ARGS: --auth-local=md5 --auth-host=md5 --auth=md5

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a problem where the connection silently failed if scram authentication was used. I tried and failed to reproduce by playing around with some of the tests in auth_query_spec.rb, so it might be a problem unique to the config I was using?

Auth query not working with scram authentication might be a known issue? I ran across some problems that might be similar in the discord. I'm a bit fuzzy on how this all works so it could be unrelated

message from postgresml discord:

I tried SCRAM-SHA-256 in password encoding, the auth_query failed to work.
pgcat failed with error below"2023-09-07T09:01:37.352504Z ERROR pgcat: 
Pool error: ServerAuthError("SASL auth required and no password specified. 
Auth passthrough (auth_query) method is currently unsupported for SASL auth", ServerIdentifier { username: "pgcatdb", database: "pgcatdb" }) ".  
SCRAM is required for FIPS. 

Any planning to support SCRAM for auth_query?
@joshcurtis joshcurtis changed the title Add support for auth_hash authentication to mirrored servers Dec 31, 2024
The change itself is fairly simple, just piping the auth_hash
object  to the mirror server pool.

The test was created by putting aping existing tests in mirror_spec.rb
and auth_query_spec.rb.

I also updated the auth of the mirror instance to md5, since the
connection failed silently when scram-sha-256 was used.
@joshcurtis
joshcurtis force-pushed the add_auth_hash_support_in_mirrors branch from 7d1cab2 to a8b5501 Compare December 31, 2024 20:17
nicolasvan pushed a commit to OneSignal/pgcat that referenced this pull request Jun 16, 2025
The change itself is fairly simple, just piping the auth_hash
object  to the mirror server pool.

The test was created by putting aping existing tests in mirror_spec.rb
and auth_query_spec.rb.

I also updated the auth of the mirror instance to md5, since the
connection failed silently when scram-sha-256 was used.

Cherry-picked from postgresml#896

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant