Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID

From: Sylvain Benet - Rugama <sylvain(at)rugama(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID
Date: 2005-03-09 10:39:23
Message-ID: 422ED25B.1000303@rugama.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

J'ai en effet lu dans la doc que l'utilisation de clé primaire OID pour
les enregistrement n'est pas conseillé.
Pourtant ce type correspond exactement à mes attentes : Entier non signé
sur 4 octets, unique quelque soit la table concerné.
Mais je comprend que ce type soit réserver aux elements systèmes.

Pour remplacer ce type, je vais donc créer une table UniqueObjectLocator
qui va simuler le fonctionnement des OID, 1 champ Serial et un champs
text qui donne le nom de la table. A chaque insertion d'un
enregistrement dans une table, je vais devoir créer "a la main" un
nouvel enregistrement dans cet table UniqueObjectLocator et y mettre le
nom de la table associé à cet ID, pour ensuite créer l'enregistrement
dans la table concerné avec cet identifiant retourné.

Sylvain Benet

Stéphane Bunel a écrit :

>
> Sylvain Benet - Rugama a écrit :
>
>> Bonjour,
>>
>> Sous Posgresql v8, je me sers des OID comme clé primaire de plusieurs
>> table.
>
>
> Je ne vais pas répondre à votre question, mais simplement apporter une
> information : Il ne faut pas utiliser les OIDs !! C'est un héritage de
> temps ancien ou les fonctionnalités n'étaient pas ce quelles sont
> aujourd'hui. Cependant le lien ci-dessous donne quelques indications
> sur la façon d'utiliser les table pg_ en rapport avec les OIDs.
>
> (...)
> The oid type is currently implemented as an unsigned four-byte
> integer. Therefore, it is not large enough to provide database-wide
> uniqueness in large databases, or even in large individual tables. So,
> using a user-created table's OID column as a primary key is
> discouraged. OIDs are best used only for references to system tables.
> (...)
>
> http://www.postgresql.org/docs/current/static/datatype-oid.html
>
> Stéphane.
>
>

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Hervé Piedvache 2005-03-09 11:36:44 Re: Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID
Previous Message Stéphane Bunel 2005-03-09 09:16:05 Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID