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

Re: Consulta sobre OIDs

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Sergio Gabriel Rodriguez <sgrodriguez(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta sobre OIDs
Date: 2011-09-15 13:41:25
Message-ID: 1316093828-sup-7408@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Excerpts from Sergio Gabriel Rodriguez's message of jue sep 15 10:23:14 -0300 2011:
> Hola lista,
> 
>   tengo un servidor donde periódicamente restauro diferentes bases de
> datos para realizar pruebas, estas bases utilizan large objects, luego
> de varias restauraciones los loid de la pg_largeobject se incrementan
> y según tengo entendido los OID son de 4 bytes y llegado el limite
> comienzan a duplicarse, que sucede en este caso, tengo que reiniciar
> los OID con pg_resetxlog y restaurar de nuevo todas las bases? que
> pasaría ante una situación similar en producción? 

No pasa nada.  Al crear un nuevo LO, el sistema te asignará el siguiente
OID que no esté en uso en el catálogo de large objects.  Por ej. si el
contador va en 500 y está ocupado el 501 y el 502, automáticamente se
hará el salto y te asignará el 503.  No notarás la diferencia.

Lo único crítico sería si ocuparas todo el espectro de OIDs desde 0
hasta 2^32-1, pero creo que los problemas de performance para cuando
llegue ese momento serían peores ;-)

(Nota: esta característica apareció en 8.2 o algo así.  En versiones
anteriores, tendrías que haber hecho un bucle en la aplicación hasta que
obtuviera un OID válido, porque el sistema te habría mandado un error al
tratar de insertar un OID duplicado).

> tengo alguna forma de saber por consulta al catálogo cual es el
> próximo OID a asignar?

No, pero podrías saberlo con pg_controldata.

-- 
Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

pgsql-es-ayuda by date

Next:From: Hellmuth VargasDate: 2011-09-15 14:37:00
Subject: Re: porque max_connections debe ser igual entre el master y el hot standby
Previous:From: Sergio Gabriel RodriguezDate: 2011-09-15 13:23:14
Subject: Consulta sobre OIDs

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