pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Markus Schiltknecht <markus@bluegap.ch>
To: Miha D. Puc <miha.puc@eba.si>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: Bytea network traffic: binary vs text result format
Date: Mon, 04 Jun 2007 14:54:39 +0200
Message-ID: <46640B8F.8040503@bluegap.ch> (raw)
In-Reply-To: <466299A7.20403@eba.si>
References: <466299A7.20403@eba.si>

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




view thread (4+ messages)  latest in thread

Message-ID: <46640B8F.8040503@bluegap.ch>
Permalink:  ../46640B8F.8040503@bluegap.ch/
Also on:    postgresql.org/message-id/46640B8F.8040503@bluegap.ch

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: markus@bluegap.ch, miha.puc@eba.si
  Subject: Re: Bytea network traffic: binary vs text result format
  In-Reply-To: <46640B8F.8040503@bluegap.ch>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox