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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Wilhansen Li | 2007-06-04 14:51:13 | Re: Bytea network traffic: binary vs text result format |
Previous Message | Miha D. Puc | 2007-06-03 10:36:23 | Bytea network traffic: binary vs text result format |