Re: Most efficient way for libPQ .. PGresult serialization - Mailing list pgsql-hackers

From Craig Ringer
Subject Re: Most efficient way for libPQ .. PGresult serialization
Date
Msg-id CAMsr+YECX0dBH1-f_VRvuRMxNght6H5JR+8FKNGirS5qQx0xWg@mail.gmail.com
Whole thread Raw
In response to Most efficient way for libPQ .. PGresult serialization  (Joshua Bay <joshuabay93@gmail.com>)
Responses Re: Most efficient way for libPQ .. PGresult serialization  (Tatsuo Ishii <ishii@sraoss.co.jp>)
List pgsql-hackers
On 18 August 2016 at 10:05, Joshua Bay <joshuabay93@gmail.com> wrote:
Hi,

I was trying to implement a middleware that lies between client and postgres.

So, this middleware is supposed to run query with libpq, do its job on them, and then serialize the result of query, and send it to the client ! (client deserializes to PGresult)

I could simply iterate over rows and columns but than that would be slow.
I also found that query results consist of 3 parts (PGresult, tuples, data blocks).

Could I please get some pointers ? :)


Take a look at the code for PgBouncer and PgPool-II. Both implement PostgreSQL protocol proxies you could use as starting points. 

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

pgsql-hackers by date:

Previous
From: Craig Ringer
Date:
Subject: Re: How to do failover in pglogical replication?
Next
From: Michael Paquier
Date:
Subject: Re: Anyone want to update our Windows timezone map?