Server side large object functions

Started by George Weaverover 17 years ago6 messagesdocsgeneral
Jump to latest
#1George Weaver
gweaver@shaw.ca
docsgeneral

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

#2Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: George Weaver (#1)
docsgeneral
Re: Server side large object functions

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

#3George Weaver
gweaver@shaw.ca
In reply to: George Weaver (#1)
docsgeneral
Re: Server side large object functions

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

#4Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: George Weaver (#3)
docsgeneral
Re: [GENERAL] Server side large object functions

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.

#5Howard Cole
howardnews@selestial.com
In reply to: George Weaver (#1)
docsgeneral
Re: Server side large object functions

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

#6George Weaver
gweaver@shaw.ca
In reply to: George Weaver (#1)
docsgeneral
Re: Server side large object functions

----- 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