From: | Vijaykumar Jain <vijaykumarjain(dot)github(at)gmail(dot)com> |
---|---|
To: | "Godfrin, Philippe E" <philippe(dot)godfrin(at)nov(dot)com> |
Cc: | pgsql-admin(at)lists(dot)postgresql(dot)org |
Subject: | Re: PG Startup message and HAProxy ACL |
Date: | 2021-06-02 21:53:29 |
Message-ID: | CAM+6J96=Js1wz4f=YJO7f0kVW0viLwFEHx4q0NJ6RDyB1ocjHQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
https://www.postgresql.org/docs/13/protocol-flow.html
The above explains what goes over the wire in what order.
I understood the implementation above from reading
https://github.com/tlocke/pg8000/blob/master/pg8000/core.py
I may be diverting here, this helped me understand how the message flows
from client to server.
Ignore if not relevant.
On Thu, Jun 3, 2021, 2:40 AM Godfrin, Philippe E <philippe(dot)godfrin(at)nov(dot)com>
wrote:
> Greetings folks!
>
>
>
> I am trying to parse the PG startup message using an HAProxy ACL – but the
> acl never returns true. Here’s what it looks like:
>
>
>
> listen pg_ingress
>
> #mode tcp
>
> bind *:5000
>
> option tcplog # enable addvanced logging
>
> # hex convert tsdbrw
>
> acl check-rw req.payload(0,0),hex -m sub 757365720074736462727700
>
> use_backend pg_readwrite if check-rw
>
> default_backend pg_readonly
>
>
>
> In detail:
>
>
>
> acl check-rw req.payload(0,0),hex -m sub 757365720074736462727700
>
>
>
> The req.payload should return a binary block of the entire request buffer.
> I am assuming that the startup message will be there but I suspect it is
> not.
>
> The “hex” statement converts the binary into hex, and the -m sub attempts
> to match a substring of the following hex – which is “user\0tsdbrw\0”
>
>
>
> I think this should work, but it doesn’t look that way…
>
>
>
> When exactly does the startup message come across the tcp wire?
>
> Much thanks,
>
> Pg
>
>
>
> Phil Godfrin | *Database Administrator*
>
> *NOV*
>
> NOV US | Engineering Data
>
> 9720 Beechnut St | Houston, Texas 77036
>
> M 281.825.2311
>
> E Philippe(dot)Godfrin(at)nov(dot)com
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dharmendra K | 2021-06-02 21:54:14 | Re: migrate postgresql cluster to cloudsql |
Previous Message | rammohan ganapavarapu | 2021-06-02 21:45:44 | Re: migrate postgresql cluster to cloudsql |