Обсуждение: Missing documentation
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/15/libpq-connect.html Description: On this page: https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS There is a list of keywords that can be specified as part of the connection string. Specifying `jit=off` or `jit=on` is functional in practice, but `jit` is not included in the documentation.
PG Doc comments form <noreply@postgresql.org> writes: > On this page: > https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS > There is a list of keywords that can be specified as part of the connection > string. > Specifying `jit=off` or `jit=on` is functional in practice, but `jit` is > not included in the documentation. Really? Doesn't work for me: $ psql "host=localhost port=5432 jit=off" psql: error: invalid connection option "jit" regards, tom lane
PG Doc comments form <noreply@postgresql.org> writes:
> On this page:
> https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS
> There is a list of keywords that can be specified as part of the connection
> string.
> Specifying `jit=off` or `jit=on` is functional in practice, but `jit` is
> not included in the documentation.
Really? Doesn't work for me:
$ psql "host=localhost port=5432 jit=off"
psql: error: invalid connection option "jit"
regards, tom lane
Email Disclaimer This email is proprietary to MI-C3 and is intended only for the person to whom it is addressed. It may contain confidential and privileged information. If you have received this email in error, please notify the sender and delete this email, which must not be copied, distributed or disclosed to any other person. Any views or opinions presented are solely those of the author and do not necessarily represent those of MI-C3. Since this communication was affected via email, MI-C3 cannot guarantee that it is secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. MI-C3 does not accept liability for any errors or omissions in the contents of this message or for any damage resulting from the opening of this message should it contain a virus.
Stefan Badenhorst <Stefan.Badenhorst@mi-c3.com> writes: > This is working: > postgresql://USERNAME:PASSWORD@server > :5432/the_database?sslmode=disable&jit=off Again, not for me: $ psql 'postgresql://postgres@localhost:5432/mydb?sslmode=disable&jit=off' psql: error: invalid URI query parameter: "jit" I suspect something in your client environment is stripping off the &... stuff. regards, tom lane
Stefan Badenhorst <Stefan.Badenhorst@mi-c3.com> writes:
> This is working:
> postgresql://USERNAME:PASSWORD@server
> :5432/the_database?sslmode=disable&jit=off
Again, not for me:
$ psql 'postgresql://postgres@localhost:5432/mydb?sslmode=disable&jit=off'
psql: error: invalid URI query parameter: "jit"
I suspect something in your client environment is stripping off the &...
stuff.
regards, tom lane
Email Disclaimer This email is proprietary to MI-C3 and is intended only for the person to whom it is addressed. It may contain confidential and privileged information. If you have received this email in error, please notify the sender and delete this email, which must not be copied, distributed or disclosed to any other person. Any views or opinions presented are solely those of the author and do not necessarily represent those of MI-C3. Since this communication was affected via email, MI-C3 cannot guarantee that it is secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. MI-C3 does not accept liability for any errors or omissions in the contents of this message or for any damage resulting from the opening of this message should it contain a virus.
Stefan Badenhorst <Stefan.Badenhorst@mi-c3.com> writes: > I am using a prometheus exporter: > https://github.com/prometheus-community/postgres_exporter/ Hmm, well, maybe prometheus is doing something with that part of the URL. There's no such behavior in Postgres itself, though. regards, tom lane
On 2022-Nov-03, Tom Lane wrote: > Stefan Badenhorst <Stefan.Badenhorst@mi-c3.com> writes: > > I am using a prometheus exporter: > > https://github.com/prometheus-community/postgres_exporter/ > > Hmm, well, maybe prometheus is doing something with that part of the URL. > There's no such behavior in Postgres itself, though. Yeah, that part of the connection URI accepts libpq options, not Postgres-server options. The only way that you can pass options to the backend is to use "options=-c foo=bar" in the URI, but both the whitespace and the second equals sign need to be URI-escaped, so you end up with something like this: ?sslmode=disable&options=-c%20jit%3Doff This is explained (to some extent) in "34.1.1.2 Connection URIs", https://www.postgresql.org/docs/current/libpq-connect.html#id-1.7.3.8.3.6 and later "34.1.2 Parameter Key Words" explains that the parameter "options" is used to pass command-line (!!) options to the server. Maybe this bit of documentation is not explicit enough; some additional examples might clarify things. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
On 2022-Nov-03, Tom Lane wrote:
> Stefan Badenhorst <Stefan.Badenhorst@mi-c3.com> writes:
> > I am using a prometheus exporter:
> > https://github.com/prometheus-community/postgres_exporter/
>
> Hmm, well, maybe prometheus is doing something with that part of the URL.
> There's no such behavior in Postgres itself, though.
Yeah, that part of the connection URI accepts libpq options, not
Postgres-server options. The only way that you can pass options to the
backend is to use "options=-c foo=bar" in the URI, but both the
whitespace and the second equals sign need to be URI-escaped, so you end
up with something like this:
?sslmode=disable&options=-c%20jit%3Doff
This is explained (to some extent) in "34.1.1.2 Connection URIs",
https://www.postgresql.org/docs/current/libpq-connect.html#id-1.7.3.8.3.6
and later "34.1.2 Parameter Key Words" explains that the parameter
"options" is used to pass command-line (!!) options to the server.
Maybe this bit of documentation is not explicit enough; some additional
examples might clarify things.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
Email Disclaimer This email is proprietary to MI-C3 and is intended only for the person to whom it is addressed. It may contain confidential and privileged information. If you have received this email in error, please notify the sender and delete this email, which must not be copied, distributed or disclosed to any other person. Any views or opinions presented are solely those of the author and do not necessarily represent those of MI-C3. Since this communication was affected via email, MI-C3 cannot guarantee that it is secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. MI-C3 does not accept liability for any errors or omissions in the contents of this message or for any damage resulting from the opening of this message should it contain a virus.