Re: the wire protocol
Dmitry Igrishin <[email protected]> Sat, 19 Jan 2019 18:16:31 +0300
| Newsgroups | gmane.comp.db.postgresql.interfaces |
|---|---|
| Message-ID | <CAAfz9KPbpiQuXX1+=55aHoNBXrGnYYsWOKcci1f0Bh4eoN=TLg@mail.gmail.com> |
=D1=81=D0=B1, 19 =D1=8F=D0=BD=D0=B2. 2019 =D0=B3. =D0=B2 16:56, Catonano <c= [email protected]>: > > Hello, > > there's this Python project using the so called wire protocol (as far as = I understand) > > https://github.com/MagicStack/asyncpg > > I'm caressing the idea to create a GNU Guile based project that does the = same thing > > But I don't understand how they manage to get the connection to Postgresq= l, their code is too complicated for me > > Do they use the C library, libpq ? > Or do they manage the connection in their own code ? AFAIK, asyncpg implements the frontend/backend protocol described here: https://www.postgresql.org/docs/current/protocol.html > Should I use libpq ? Not necessary. > Or should I manage the connection in my own code ? You can implement the protocol yourself in pure Guile. It's up to you to de= cide. > In Guile I can manipulate sockets and the semantics are pretty close to t= he ones of plain C > > So even an example in C would be fine > > I'd like to use a Unix socket To do it, first of all you need to familiarize with the frontend/backend protocol mentioned above.