"trailing junk after numeric literal at or near ""512<d0>"""

Started by Олег Самойловover 1 year ago2 messagesgeneral
Jump to latest

Hi all.

I have PostgreSQL 16.6. The log files are attached as partitions by
file_fdw to the SQL table. Common practice. But after the error message
"trailing junk after numeric literal at or near ""512<d0>""" (vim -b view)
was wrote, the reading all log was stopped with error from file_fdw:

ERROR: invalid byte sequence for encoding "UTF8": 0xd0 0x22

The reason is the error message in the log file (which must be utf-8)
consist of:
\x 22 35 31 32 d0 22
" 5 1 2 "
and d0 is not a utf-8 character so it block reading whole log file by
file_fdw. I think the correct behavior must be the error log function
must mask the wrong bytes by the ESC sequences, so PostgreSQL will be
able read such log file with help of file_fdw.
--
Olleg

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Олег Самойлов (#1)
Re: "trailing junk after numeric literal at or near ""512<d0>"""

Olleg Samoylov <splarv@ya.ru> writes:

I have PostgreSQL 16.6. The log files are attached as partitions by
file_fdw to the SQL table. Common practice. But after the error message
"trailing junk after numeric literal at or near ""512<d0>""" (vim -b view)
was wrote, the reading all log was stopped with error from file_fdw:

ERROR: invalid byte sequence for encoding "UTF8": 0xd0 0x22

The reason is the error message in the log file (which must be utf-8)
consist of:
\x 22 35 31 32 d0 22
" 5 1 2 "
and d0 is not a utf-8 character so it block reading whole log file by
file_fdw.

You certain that server is 16.6? Because we fixed that in 16.5:

https://git.postgresql.org/gitweb/?p=postgresql.git&amp;a=commitdiff&amp;h=4fd4d7653

regards, tom lane