Did you wind up using CrateDB's PG implementation?
I found it was too tied to CrateDB specific stuff, not really usable
without trying to rewrite a lot of it

So instead I wrote a framework where you can implement an interface for
handling each
PG wire message type and it does the rest (encoding/decoding, networking,
etc) using Netty

(I published it here, it's in Kotlin but I also have a Java version I mean
to publish this weekend)
GavinRay97/PgProtoKt: A framework for building Postgres Wire-Protocol
backends on the JVM, backed by Netty (github.com)
<https://github.com/GavinRay97/PgProtoKt#example>


On Sat, Sep 10, 2022 at 12:10 PM Dmitry Sysolyatin <[email protected]>
wrote:

>
> Our first implementation is also used external PG. But there were 3
> problem with that:
> 1. Need external pg setup like you said
> 2. Need to synchronise external pg with list of your tables and columns
> 3. Security, it is hard to do any security related things on top of
> external Postgres pg_catalog table. For example, to show user only his
> tables, schemas and so on, so on
>
> > 10 сент. 2022 г., в 18:58, Gavin Ray <[email protected]> написал(а):
> >
> > I have a basic JVM framework for building PG wire protocol services
> that is
> > integrated with Calcite
> > But it does not support pg_catalog, more just passes queries directly to
> > Calcite
> >
> > A hacky way to add support for pg_catalog is to use pg_fdw with a real
> > Postgres DB so that it takes care of the metadata
> > But this is not ideal and it requires having an external Postgres data +
> > some setup
> >
> >> On Sat, Sep 10, 2022 at 11:55 AM Gavin Ray <[email protected]>
> wrote:
> >>
> >> +1
> >>
> >> On Sat, Sep 10, 2022 at 11:30 AM Dmitry Sysolyatin <
> >> [email protected]> wrote:
> >>
> >>> Hello!
> >>>
> >>> I've been working on the integration calcite and PostgreSQL wire
> protocol
> >>> [1] to emulate Postgres server (Of course it includes emulating
> >>> `pg_catalog` schema). It gives a user the ability to connect to a
> calcite
> >>> schema using PostgreSQL tools and libraries.
> >>>
> >>> Our team is thinking to open source code of this project. And at
> first, we
> >>> would like to know if anyone would be interested before doing any next
> >>> steps.
> >>>
> >>> If you would be interested in, just write +1
> >>>
> >>> [1] https://www.postgresql.org/docs/current/protocol.html
> >>>
> >>
>

Reply via email to