Re: [GENERAL] UTF-8 on Postgres wire protocol

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: [GENERAL] UTF-8 on Postgres wire protocol
Дата
Msg-id CAB7nPqTxbJFqVAYMLanhkTS5Am46R6GdG1vMWKG4zUTw_sT2wg@mail.gmail.com
обсуждение исходный текст
Ответ на [GENERAL] UTF-8 on Postgres wire protocol  (Rui Pacheco <rui.pacheco@gmail.com>)
Список pgsql-general
On Thu, Dec 22, 2016 at 8:25 AM, Rui Pacheco <rui.pacheco@gmail.com> wrote:
> I’m toying around with the wire protocol and came across something I don’t understand.
>
> I created a table with two columns, one called “id” and one called “señor”. When I select from that table I get the
listof columns and while its fairly easy to identify the column with the name “id”, I’m not sure how to identify the
othercolumn: 
>
> So this would be the ID column:
>
>   […]
>   [7] = 0x69
>   [8] = 0x64

Yes this one maps to "id".

>   And this señor:
>   [47] = 0x01
>   [48] = 0x03
>   [49] = 0x00
>   [50] = 0x00

The string is from here...

>   [51] = 0x73
>   [52] = 0x65
>   [53] = 0xc3
>   [54] = 0xb1
>   [55] = 0x6f
>   [56] = 0x72

To here. And then señor ends.

> What are the 4 bytes that precede the word señor? In other words, if I were to parse this, how would I know where the
columnname begins and ends? 

I am not sure what message you used to query them, but the answer you
are looking for is much likely here:
https://www.postgresql.org/docs/9.6/static/protocol-message-formats.html
https://www.postgresql.org/docs/9.6/static/protocol-message-types.html
If you are looking at a reliable way to re-implement the frontend-side
protocol parsing the information according to those docs is the way to
go.
--
Michael


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

Предыдущее
От:
Дата:
Сообщение: Re: [GENERAL] Postgres 9.6 Streaming Replication on Solaris 10
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: [GENERAL] Too long startup time after each crash.