2009/3/16 Julio Tavares <[email protected]>

> Prezado Fabrizio,
>
> Complementando o e-mail anterior, temos o seguinte cenário:
>
> Existe a tabela public.conteudo, a qual armazena os nomes dos conteudos (
> arquivos ) bem como o OID/LOID dos respectivos arquivos.
>
> A tabela conteudo a que me refiro tem a seguinte estrutura:
>
> CREATE TABLE conteudo
> (
>   "CD_CONTEUDO" integer,
>   "NAME" character varying(255) NOT NULL,
>   "CONTENT" integer NOT NULL
> )
> WITH OIDS;
>
>

Caro Julio,

É realmente um caso bem peculiar... não seria o problema do campo CONTENT
que esta com o tipo INTEGER (int4) e conforme consta na referencia que vc
enviou [1] deveria ser OID e talvez isso pode ser um problema, conforme
comentou o Sr. Tom Lane.

O que pode causar problema/confusão é que o campo INT4 armazena valores na
faixa de -2147483647 a +2147483647 [3] e o OID armazena até 4bilhoes e é
"UNSIGNED" (sem sinal), ou seja, existe uma faixa de valores que conflita
entre esses 2 tipos (valores acima de +2147483647).

Faça o seguinte teste, pesquisa por registros na tua tabela "conteudo" onde
o campo "CONTENT" seja menor que 2147483647 e verifique, usando o lo_export
se é o arquivo correto, pois pode ser que voce tenha problemas com arquivos
que foram armazenados com o OID > 2147483647....

Essa é a única coisa que me ocorreu dado o teu cenário atual... (mais alguém
pode colaborar????)...

Espero ter ajudado..


[1]
http://bytes.com/groups/postgresql/400042-pg_largeobject-oid-mistmach-after-restore
[2] http://www.postgresql.org/docs/current/interactive/datatype-oid.html
[3] http://www.postgresql.org/docs/8.3/interactive/datatype-numeric.html



-- 
Fabrízio de Royes Mello
>> Blog sobre PostgreSQL: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a