Re: Encoding bytea

From: Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Encoding bytea
Date: 2004-03-04 07:54:21
Message-ID: Pine.LNX.4.44.0403040953340.2444-100000@matrix.gatewaynet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Philippe Lang 2004-03-04 11:20:36 sub-select parameter problem
Previous Message Tom Lane 2004-03-04 06:40:51 Re: calling function