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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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