From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "fanlijing *EXTERN*" <fanlijing(at)cn(dot)fujitsu(dot)com>, <pgsql-admin(at)postgresql(dot)org>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: [GENERAL] how to save a bytea value into a file? |
Date: | 2011-10-10 10:50:14 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C206F74246@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-general |
fanlijing wrote:
> In Fact, I'm doing a porting project from Oracle 10g to PostgreSQL 9.0.4
>
> There is a procedure in Oracle 10g to write a blob value into a file using:
[...]
> I know PostgreSQL doesn't support procedure, so I want to porting it into a
> function use LANGUAGE plpgsql.
> So I must find some APIs supported by plpgsql to write a bytea value into a
> file (e.g. write into a file in RedHat)
>
> ★ Are there any APIs like "UTL_FILE.FOPEN... DBMS_LOB.READ...
> UTL_FILE.PUT_RAW..." of Oracle dealing with writing binary objects into a
> file in PostgreSQL? If there isn't anyone, Maybe I should think about other
> language(e.g. Perl, Java) to realize it.
There are functions to read files:
http://www.postgresql.org/docs/current/static/functions-admin.html#FUNCTIONS-ADMIN-GENFILE
The Contrib-Module "adminpack" contains a function "pg_file_write"
that can be used to write files.
But you don't need those for what you want to do.
A simple
COPY (SELECT byteacol WROM mytab WHERE ...) TO 'filename' (FORMAT binary)
should do the trick.
For all that you need superuser privileges.
Yours,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | jesper | 2011-10-10 14:17:05 | pg_lesslog |
Previous Message | fanlijing | 2011-10-10 08:23:04 | Re: [GENERAL] how to save a bytea value into a file? |
From | Date | Subject | |
---|---|---|---|
Next Message | Ondrej Ivanič | 2011-10-10 11:14:14 | Re: plpgsql syntax error |
Previous Message | Harshitha S | 2011-10-10 10:41:04 | Re: could not create file "base/16384/11500": File exists |