On Sat, Mar 24, 2018 at 06:52:47PM +0100, Damir Simunic wrote:
> Hello hackers,
>
> I’d like to propose the implementation of new wire protocol using http2 framing.
Welcome to the PostgreSQL community! This is a very interesting idea.
Please send a patch to this mailing list on this thread.
In order to get and keep it on the radar, you should know about how
development works in PostgreSQL.
http://wiki.postgresql.org/wiki/Development_information
In particular, please look at: http://wiki.postgresql.org/wiki/Submitting_a_Patch
I notice that you patched 10. New features, and this is definitely
one, go against git master.
> It appears to me that http2 solves many of the issues on the TODO
> list under “Wire Protocol Changes / v4 Protocol,“ without any
> obvious downsides.
Here are a few things to consider, at least from my perspective:
- Docs. Gotta have some: https://wiki.postgresql.org/wiki/Documentation_Tools
- Testing. Gotta have some in src/test/regress in the source tree.
- Tight coupling to OpenSSL, if that's actually what's happening.
We're actively trying to get away from this, so a TLS-neutral
implementation or at least one that's not specific to OpenSSL would
be good.
- Overhead for all clients. It may be tiny, but it needs to be
measured and that cost needs to be weighed against the benefits.
Maybe a cache miss in the context of a network connection is
negligible, but we do need to know.
- Dependency on a new external library. Fortunately, it's MIT
licensed, so it's PostgreSQL compatible, but what happens if it
becomes unmaintained? This has happened a couple of times, and it
causes overhead that needs to be taken into account.
> My hope is that this post leads to a conversation and gets a few
> people excited about the idea the way I am. Maybe even some of the
> GSoC students would take the implementation further?
The conversation has started.
Again, welcome, and thanks for jumping in!
Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate