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