Re: Q: limit the length of log file entries?
От | Adrian Klaver |
---|---|
Тема | Re: Q: limit the length of log file entries? |
Дата | |
Msg-id | 6ec7306b-fa0d-49d1-9944-11cc934b7180@aklaver.com обсуждение исходный текст |
Ответ на | Re: Q: limit the length of log file entries? (Adrian Klaver <adrian.klaver@aklaver.com>) |
Ответы |
Re: Q: limit the length of log file entries?
|
Список | pgsql-general |
On 9/4/25 08:54, Adrian Klaver wrote: > On 9/4/25 08:48, Albrecht Dreß wrote: >> Am 03.09.25 21:07 schrieb(en) Tom Lane: >>> There isn't any provision for limiting the length of source queries >>> quoted in the log. >> >> I see, thanks for the clarification. IMHO, it would be nice to have >> such an option, though… >> >>> Had your user sent the bytea value as a query >>> parameter, then log_parameter_max_length[_on_error] would have >>> applied, but this looks like the value was just inline in the query. >> >> I can confirm that the limitation is applied when I call >> PQexecParams() from a little c test application with the data included >> in the paramValues array. The overlong log lines result from queries >> in a Python script using the psycopg2 module – no idea how this >> component formats the query. > > The best explanation is found from the psycopg(3) docs: > > https://www.psycopg.org/psycopg3/docs/basic/from_pg2.html > > Differences from psycopg2 > > "Psycopg 3 sends the query and the parameters to the server separately, > instead of merging them on the client side. Server-side binding works > for normal SELECT and data manipulation statements (INSERT, UPDATE, > DELETE), but it doesn’t work with many other statements. For instance, > it doesn’t work with SET or with NOTIFY:" As example: import psycopg2 import psycopg conpsyc2 = psycopg2.connect("dbname=test user=postgres") conpsyc3 = psycopg.connect("dbname=test user=postgres") cur2 = conpsyc2.cursor() cur3 = conpsyc3.cursor() cur2.execute("select * from csv_test where id = %s", [1]) cur3.execute("select * from csv_test where id = %s", [1]) yields: --cur2 2025-09-04 11:17:30.246 PDT [29695] postgres@test LOG: statement: BEGIN 2025-09-04 11:17:30.246 PDT [29695] postgres@test LOG: statement: select * from csv_test where id = 1 --cur3 2025-09-04 11:18:07.158 PDT [29703] postgres@test LOG: statement: BEGIN 2025-09-04 11:18:07.159 PDT [29703] postgres@test LOG: execute <unnamed>: select * from csv_test where id = $1 2025-09-04 11:18:07.159 PDT [29703] postgres@test DETAIL: Parameters: $1 = '1' > > >> >> Thanks again, >> Albrecht. > > -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления: