Search Postgresql Archives

Re: Merged Model for libpq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 31, 2011 at 11:34 AM, Annamalai Gurusami
<annamalai.gurusami@xxxxxxxxx> wrote:
> Hi All,
>
> I would like to know about the best approach to take for providing a merged
> model of libpq library.  When I say "merged model" it means that the client
> and server would be running as a single process.  A single client libpq
> application can be linked to either the client-server libpq library or
> merged libpq library.  For more clarity here is a small flow diagram:
>
> Client Server Model:
>
> Application -> libpq library (cs) -> TCP/IP network -> libpq (backend) ->
> pgsql server
>
> Merged Model:
>
> Application -> libpq library (merged) -> pgsql server
>
> One approach that we are having in mind is to use the SPI interface and
> re-implement the libpq APIs.  Is there any other better approach?   Would it
> be possible to implement the client server protocol into an API interface,
> without involving the TCP/IP network?
>
> Your thoughts and suggestions on this would be highly appreciated.

One big issue with SPI that need to be aware of is that you have no
explicit transaction control  Once you are in SPI land, you are in one
transaction and one transaction only -- this means all locks are held
indefinitely as well as other issues.

I don't think fully server side applications are practical until we
get stored procedures with explicit transaction control (and once we
have them, that's all i'll ever write if given a choice).

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux