Thread: Server side large object functions

Server side large object functions

From
"George Weaver"
Date:
Hi,

The PostgreSQL manual indicates that:

"There are server-side functions callable from SQL that correspond to each
of the client-side functions described above."

In psql I can get the argument data types for lo_open:

development=# \df+ lo_open
                                                         List of functions
   Schema   |  Name   | Result data type | Argument data types | Volatility
|  O
wner   | Language | Source code |    Description
------------+---------+------------------+---------------------+------------+---
-------+----------+-------------+-------------------
 pg_catalog | lo_open | integer          | oid, integer        | volatile
| po
stgres | internal | lo_open     | large object open
(1 row)

But if I try to find the same for lo_read I get:

development=# \df+ lo_read
                                                 List of functions
 Schema | Name | Result data type | Argument data types | Volatility | Owner
| L
anguage | Source code | Description
--------+------+------------------+---------------------+------------+-------+--
--------+-------------+-------------
(0 rows)

Is there not a server side function for lo_read?  If so, how do I determine
the argument types?

My objective it to read a large object into memory as opposed to exporting
it to a disk file.

I'm using version 8.3.3, psqlODBC 8.2.2 and vb.net.

Thanks,
George



Re: Server side large object functions

From
Alvaro Herrera
Date:
George Weaver wrote:

> But if I try to find the same for lo_read I get:
>
> development=# \df+ lo_read

alvherre=# \df loread
                            Listado de funciones
   Schema   | Nombre | Tipo de dato de salida | Tipos de datos de argumentos
------------+--------+------------------------+------------------------------
 pg_catalog | loread | bytea                  | integer, integer
(1 fila)


HTH,

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Re: Server side large object functions

From
"George Weaver"
Date:
From: "Alvaro Herrera" <alvherre@commandprompt.com>

> George Weaver wrote:
>
>> But if I try to find the same for lo_read I get:
>>
>> development=# \df+ lo_read
>
> alvherre=# \df loread
>                            Listado de funciones
>   Schema   | Nombre | Tipo de dato de salida | Tipos de datos de
> argumentos
> ------------+--------+------------------------+------------------------------
> pg_catalog | loread | bytea                  | integer, integer
> (1 fila)

Thanks Alvaro.  I didn't think to look for a variation of the function
name...

As an aside, if I do a PostgreSQL Website search for "loread", I get not
hits.

George



Re: Server side large object functions

From
Alvaro Herrera
Date:
George Weaver wrote:

> As an aside, if I do a PostgreSQL Website search for "loread", I get not
> hits.

Apparently these functions are not documented at all :-(  Most of the
chapter on large objects
http://www.postgresql.org/docs/8.3/static/lo-funcs.html
seems predicated on that one will be using libpq and C.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Re: Server side large object functions

From
Howard Cole
Date:
George Weaver wrote:
>
> My objective it to read a large object into memory as opposed to
> exporting it to a disk file.
>
> I'm using version 8.3.3, psqlODBC 8.2.2 and vb.net.
>
If you use Npgsql (.NET library) rather than ODBC - there are functions
for reading large objects into memory.

Howard Cole
www.selestial.com

Re: Server side large object functions

From
"George Weaver"
Date:
----- Original Message -----
From: "Howard Cole" <howardnews@selestial.com>

> If you use Npgsql (.NET library) rather than ODBC - there are functions
> for reading large objects into memory.

Cool!

I've been meaning to have a look at Npgsql - maybe this is the nudge I need!

Thanks,
George