Bom dia estou precisando imprimir uma imagem pelo Postgres
 
e a unica forma de imprimi-la é gravando ela no banco
 
uso como editor de relatorio o Crystal Report 4 com vb6...
 
ja não sei mais oque faço
 
se alguem puder me ajudar  desde ja agradeço
 
att:
Ricardo
 
 
 



From: matioli.math...@gmail.com
Date: Fri, 28 Sep 2012 17:32:35 -0300
To: pgbr-geral@listas.postgresql.org.br
Subject: Re: [pgbr-geral] Backup banco.




2012/9/26 Fábio Telles Rodriguez <fabio.tel...@gmail.com>




Em 26 de setembro de 2012 13:13, Flavio Henrique Araque Gurgel 
<fla...@4linux.com.br> escreveu:



Em 26-09-2012 11:57, Itamar Reis Peixoto escreveu:

> 2012/9/26 Edson Lidorio<edson...@gmail.com>:
>> Olá Fábio Telles,
>>
>> Qual seria a solução inteligente para o armazenamento de imagens?
>>
>> Edson
>
> coloque o nome do arquivo no banco e armazene a imagem no disco.
>
> replique as imagens para outros servidores utilizando rsync ou glusterfs

Faça isso e não tenha integridade referencial nem o controle de versão
com suas imagens. Um simples rm no disco e pumba! Perdeu playboy.

Backup e replicação são simplificados se colocados os arquivos no banco
também.

Não sei porque tanta gente tem medo de colocar arquivo binário em banco
de dados com bytea. Não faz mas sentido em 2012, salvo raras excessões.




Estou migrando uma base de 400GB de imagens (e mais uns 10GB de dados) para 
Large Objects. Depois digo se melhorou ou não. Estou testando aqui. Sei que 
para imagens pequenas, LO não deveria fazer muita diferença. 


Até onde já vi, a leitura de um LO é mais rápida do que com bytea. Pois o 
PostgreSQL gerencia bem o stream, mas também só testei em C com a libpq, que 
tem interface prontinha pra gerenciar LO.
 







Mas milhões de imagens em Bytea é um problema: quando você faz um select na 
tabela, mesmo que não vá retornar o campo com bytea, se você fizer um seq scan, 
você terá problemas, pois a imagem faz parte da tupla e percorrer centenas de 
GB desnecessariamente não é nada bom.

Mas isso resolveria se, pelo menos, fosse colocado as imagens (a tabela com 
bytea) numa tabela a parte e feito um relacionamento (1 para 1), certo?

Apesar de que eu também prefiro LO...






No mais concordo: cada caso é um caso. Eu estou testando o meu caso particular. 
Neste caso, o dump do bytea se mostrou inviável, pois leva muito tempo e ocupa 
mais de 700GB, quase o dobro da base.



Já testou com um dump binário (-Fc ou -Ft), isso diminui bastante o tamanho do 
dump com blobs.

Aliás, com LO ele também fica grande, não?

Atenicosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados PostgreSQL
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres



_______________________________________________ pgbr-geral mailing list 
pgbr-geral@listas.postgresql.org.br 
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral            
                              
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a