Re: [GENERAL] Logging broken messages

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [GENERAL] Logging broken messages
Дата
Msg-id 20777.1486498361@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [GENERAL] Logging broken messages  (Steve Atkins <steve@blighty.com>)
Список pgsql-general
Steve Atkins <steve@blighty.com> writes:
>> On Feb 6, 2017, at 9:21 AM, Rui Pacheco <rui.pacheco@gmail.com> wrote:
>> I’m trying to implement a version of the wire protocol but I’ve hit a problem: whenever I send a Close Statement
messageto the remote, it just hangs indefinitely. I suspect the problem could be on my side but I can’t find anything
onmy code that doesn’t match the manual. 
>>
>> Is there a way to configure Postgres to debug this? I’ve tried setting a number of log parameters but nothing shows
upon syslog: 

> Wireshark has a v3 postgresql protocol dissector. It might be worth comparing your code with libpq and see if
anythinglooks different. 

Also, you could try attaching to the connected backend with gdb and
look at where it's waiting.

To cut to the chase, though: I'd bet you are either sending a wrong
message length word, or failing to flush your buffer out to the socket.
Either way the backend would be sitting waiting to accumulate the
full message.  If it had what it thought was a complete message, it
would be doing something with it --- either executing it or complaining.
But it doesn't really make any attempt to validate an incoming message
until it's got all of it as per the length word.

            regards, tom lane


В списке pgsql-general по дате отправления:

Предыдущее
От: Steve Atkins
Дата:
Сообщение: Re: [GENERAL] Logging broken messages
Следующее
От: Patrick B
Дата:
Сообщение: [GENERAL] FATAL: remaining connection slots are reserved for non-replicationsuperuser connections