pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Achilleus Mantzios <achill@matrix.gatewaynet.com>
To: Joe Conway <mail@joeconway.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Encoding bytea
Date: Thu, 4 Mar 2004 09:54:21 +0200 (EET)
Message-ID: <Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com> (raw)
In-Reply-To: <40466342.1000608@joeconway.com>

O kyrios Joe Conway egrapse stis Mar 3, 2004 :

> Achilleus Mantzios wrote:
> 
> > is there a way to encode a bytea in such a way that the resulting
> > text stream be readily available (\\ escaped for unprintable chars) for 
> > usage in an insert statement?
> > 
> > None of base64,hex,escape options in encode() seem to produce
> > anything close.
> > 
> > This is meant to be used with generating insert statements in xml files
> > for remote processing.
> 
> Is this what you need?

Yes thanx. ( i always forget about the casting function trick)

> 
> create table t(f bytea);
> insert into b values ('a\\003\\000\\001b');
> 
> create or replace function bytea2text(bytea) returns text as '
> begin
>   return $1;
> end;
> ' language plpgsql;
> 
> regression=# select 'insert into t values(' || 
> quote_literal(bytea2text(f)) || ');' from t;
>                    ?column?
> --------------------------------------------
>   insert into t values('a\\003\\000\\001b');
> (1 row)
> 
> regression=# insert into t values('a\\003\\000\\001b');
> INSERT 292656 1
> 
> HTH,
> 
> Joe
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
>                http://archives.postgresql.org
> 

-- 
-Achilleus




view thread (3+ messages)

Message-ID: <Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com>
Permalink:  ../Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com/
Also on:    postgresql.org/message-id/Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com

 · 

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-sql@postgresql.org
  Cc: achill@matrix.gatewaynet.com, mail@joeconway.com
  Subject: Re: Encoding bytea
  In-Reply-To: <Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com>

* 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