grupos <grupos@carvalhaes.net> writes:
> I need to use large objects BUT I am having problemns... I instaled
> PostgreSQL 8.0.3 windows version with lo module.
>
> first, I created the table below:
> CREATE TABLE test
> (
> description varchar(20),
> picture lo
> )
> WITHOUT OIDS;
>
> After trying to make one insert without value for the lo I get the
> error below:
>
> INSERT INTO test VALUES (1);
>
> ERROR: invalid input syntax for integer: ""
This means you're trying to insert an integer value into the
"description" column, which is text. It has nothing to do with large
objects.
To insert an LO into a database, you do the following:
BEGIN a transaction
Call lo_create() to make a new large object. The return value is the
OID of the LO, which you will need later.
Call lo_write() and lo_close() to put data into the LO
Insert the OID you got from lo_create() in the referencing column
("picture", in your case)
COMMIT the transaction
It's a little annoying but that's how it works.
-Doug