Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-fr-generale by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group