From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Conrado Blasetti <conrado(at)mapfre(dot)com(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Confiabilidad del OID como clave única |
Date: | 2005-08-24 14:57:44 |
Message-ID: | 20050824145744.GC15385@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Wed, Aug 24, 2005 at 11:26:56AM -0300, Conrado Blasetti wrote:
> Actualmente estoy probando con postgres 8.0. Tengo creadas las tablas con el
> attributo WITH OIDS; y mas allá de tener o no una Constraints Foreing Key,
> Unique etc, quería saber si accediendo a las tablas por el attributo OID,
> voy a tener siempre la misma info no duplicada y única en toda la base.
> Según la docum, esto es así, pero en versiones anteriores he leído que para
> cerciorase que sea única esta clave (oid) , debía configurarse algo que hoy
> por hoy no recuerdo, y tampoco en la docum de esta versión lo he encontrado.
Hola, si tienes un indice unico en el campo OID, entonces puedes estar
seguro que el OID sera unico en cada tabla (ojo, esto es valido en cada
tabla en forma independiente-- puede haber OIDs repetidos, si observas
mas de una tabla).
Ahora, esto es incomodo, puesto que el contador de OID se avanzara en
forma global para toda la BD (en lugar de localmente para cada tabla,
como ocurre por ej. con una secuencia); por lo tanto tendras
"wraparound" mas pronto, y mas probabilidad de que se empiecen a repetir
los valores.
Lo otro es que cuando trates de insertar un registro y el contador haya
dado la vuelta, si te toca un numero que ya esta en esa tabla, la
operacion va a fallar, y tu programa va a tener que hacer un reintento.
Esto puede ser necesario hacerlo varias veces hasta que encuentres un
numero que no haya sido usado, lo cual peude resultar muy incomodo para
la aplicacion.
IMO es mucho mejor crear las tablas WITHOUT OIDS y ponerle a cada tabla
donde sea necesario un campo SERIAL que actue como llave primaria.
--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Ellos andaban todos desnudos como su madre los parió, y también las mujeres,
aunque no vi más que una, harto moza, y todos los que yo vi eran todos
mancebos, que ninguno vi de edad de más de XXX años" (Cristóbal Colón)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-08-24 14:59:53 | Re: ¿Como puedo importar datos de un archivo externo?. |
Previous Message | Alvaro Herrera | 2005-08-24 14:52:07 | Re: No me funciona el restore de base de datos de PgAdminIII... |