Skip site navigation (1) Skip section navigation (2)

Re: Bytea network traffic: binary vs text result format

From: Markus Schiltknecht <markus(at)bluegap(dot)ch>
To: "Miha D(dot) Puc" <miha(dot)puc(at)eba(dot)si>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Bytea network traffic: binary vs text result format
Date: 2007-06-04 12:54:39
Message-ID: 46640B8F.8040503@bluegap.ch (view raw or flat)
Thread:
Lists: pgsql-interfaces
Hi,

Miha D. Puc wrote:
> So there is a need (people asking) and reason (performance) to use
> binary format.

You are aware that PostgreSQL itself *can* transfer values in binary 
format? Check the Documentation: "43.1.3. Formats and Format Codes":

http://www.postgresql.org/docs/8.1/interactive/protocol.html

This works since protocol version 3, AFAICT. The client needs to support 
that, though. But the php pgsql binding, just as an example, doesn't use 
that feature.

> So with all the above there should be a utility for conversion between
> binary format and native types and/or string format in libpq.

There already are. Not in libpq, though. Most (if not all) internal 
types have those functions. See for example:

   # SELECT typinput, typoutput, typreceive, typsend
   #   FROM pg_type WHERE typname='int4';

    typinput | typoutput | typreceive | typsend
   ----------+-----------+------------+----------
    int4in   | int4out   | int4recv   | int4send
   (1 row)


The input and output functions deal with the textual representation, 
while send and receive convert to a binary representation in network 
byte order.

Hope that helps.

Regards

Markus


In response to

Responses

pgsql-interfaces by date

Next:From: Wilhansen LiDate: 2007-06-04 14:51:13
Subject: Re: Bytea network traffic: binary vs text result format
Previous:From: Miha D. PucDate: 2007-06-03 10:36:23
Subject: Bytea network traffic: binary vs text result format

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group