Обсуждение: referencing oid impozsible ?

Поиск
Список
Период
Сортировка

referencing oid impozsible ?

От
patrick.jacquot@anpe.fr
Дата:
hello all
I tried recently (pgsql 7.1.2) to establish the oid of one table as foreign key
in another. 
To no avail : there was no uniqueness constraint on that column
Naturally, it seems impossible to add a uniqueness constraint to such a system
column.
As far as i know, the oid is by nature unique, excepting for the case of
wrapping of their sequence.
Is there any workaround ?


Re: referencing oid impozsible ?

От
Stephan Szabo
Дата:
On Tue, 11 Sep 2001 patrick.jacquot@anpe.fr wrote:

> hello all
> I tried recently (pgsql 7.1.2) to establish the oid of one table as foreign key
> in another. 
> To no avail : there was no uniqueness constraint on that column
> Naturally, it seems impossible to add a uniqueness constraint to such a system
> column.
> As far as i know, the oid is by nature unique, excepting for the case of
> wrapping of their sequence.
> Is there any workaround ?

You could add a unique index on oid (which would basically be the unique
constraint), but IIRC it still won't work on the system attribute.




Re: referencing oid impozsible ?

От
"Josh Berkus"
Дата:


Patrick,

> I tried recently (pgsql 7.1.2) to establish the oid of one table as
> foreign key
> in another. 
> To no avail : there was no uniqueness constraint on that column
> Naturally, it seems impossible to add a uniqueness constraint to such
> a system
> column.
> As far as i know, the oid is by nature unique, excepting for the case
> of
> wrapping of their sequence.
> Is there any workaround ?

Yes. Don't use the OID as your key.

While it would be entirely possible for you add a unique constraint to
the OID column, you do not want to use it as your key for a number of
reasons previously discussed on this list (OID wraparound, problems with
backup and restore, etc.).

Instead, re-create the table with a new ID column of type SERIAL with a
PRIMARY KEY constraint. This will automatically create an
auto-incrementing sequence of unique values perfect for attaching
foriegn keys.

-Josh

______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco