Subject: Issue with configuration parameter "require_auth"

From: "Gaisford, Phillip" <[email-masked]>
Date: Wed, 17 Jul 2024 15:09:39 +0000

I am having trouble using require_auth (https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-CONNECT-REQUIRE-AUTH).

Using golang sqlx.Connect on the client side, the connection fails and my Postgresql 16 server logs the following:

2024-07-17 14:42:07.285 UTC [115] FATAL:  unrecognized configuration parameter "require_auth"

What could the issue be?

---

From: Tom Lane <[email-masked]>
Date: Wed, 17 Jul 2024 11:23:55 -0400

> 2024-07-17 14:42:07.285 UTC [115] FATAL:  unrecognized configuration parameter "require_auth"

require_auth is a connection parameter, like host or port or dbname.
You seem to be trying to specify it as a server parameter, ie inside
the "options" connection parameter.

			regards, tom lane

---

From: "Gaisford, Phillip" <[email-masked]>
Date: Wed, 17 Jul 2024 16:17:16 +0000

Interesting…

So what would a connection URI using require_auth properly look like? Here’s what I have been trying:

url: "postgres://postgres:postgres@localhost:5432/aioli?require_auth=password&application_name=aioli-controller&sslmode=disable&sslrootcert=",

From: Tom Lane <[email-masked]>
Date: Wednesday, July 17, 2024 at 11:24 AM
To: Gaisford, Phillip <[email-masked]>
Cc: [email-masked] <[email-masked]>
Subject: Re: Issue with configuration parameter "require_auth"

                        regards, tom lane

---

From: Tom Lane <[email-masked]>
Date: Wed, 17 Jul 2024 13:11:26 -0400

> url: "postgres://postgres:postgres@localhost:5432/aioli?require_auth=password&application_name=aioli-controller&sslmode=disable&sslrootcert=",

Hm, that looks right (and behaves as-expected here).

What version of what client-side stack are you using?  For me, libpq 16
and up recognize this parameter, while older versions fail with

psql: error: invalid URI query parameter: "require_auth"

If you're using some other client driver, maybe it doesn't know this
parameter and guesses that it should be passed to the server.

			regards, tom lane

---

From: "Gaisford, Phillip" <[email-masked]>
Date: Wed, 17 Jul 2024 18:58:10 +0000

I think Tom is right.

I am using v5.6 of https://github.com/jackc/pgx

I quick read of the code reveals no awareness of require_auth, so I have filed an issue with the project.

Date: Wednesday, July 17, 2024 at 1:11 PM

                        regards, tom lane