Re: OID assistance - Mailing list pgsql-admin

From Tom Lane
Subject Re: OID assistance
Date
Msg-id 18727.1108743554@sss.pgh.pa.us
Whole thread Raw
In response to Re: OID assistance  (Greg Spiegelberg <gspiegelberg@cranel.com>)
Responses Re: OID assistance  (Greg Spiegelberg <gspiegelberg@cranel.com>)
List pgsql-admin
Greg Spiegelberg <gspiegelberg@cranel.com> writes:
> Tom Lane wrote:
>> Exactly how are you "using OIDs to store files"?  Do you mean you're
>> using large objects?

> The table is

>                             Table "public.imgs"
>    Column  |  Type  |                      Modifiers
> ----------+--------+------------------------------------------------------
>   id       | bigint | not null default nextval('public.imgs_id_seq'::text)
>   file     | text   |
>   contents | oid    |
> Indexes: imgs_pkey primary key btree (id)

> Data is loaded using INSERT's.

> insert into imgs values (1,'/path/to/myfile',lo_import('/path/to/myfile'));

Well, put a unique index on the contents column.  Better to fail an
insert than to get a conflict of LO OIDs.

If you were on 7.4 or later you could do ALTER TABLE SET WITHOUT OIDS so
you'd not be sucking up OIDs for the table rows themselves.  On 7.3 the
only way would be to drop and recreate the larger tables WITHOUT OIDS,
which is probably going to be painful :-(.

            regards, tom lane

pgsql-admin by date:

Previous
From: David.Jacques@CCRS.NRCan.gc.ca
Date:
Subject: Libpq: Passing a Pgconn* object between console applications ?
Next
From: Greg Spiegelberg
Date:
Subject: Re: OID assistance