Re: [pgbr-geral] php e postgres com figura

2008-05-08 Por tôpico jota . comm
Opa,

Esqueci de uma coisa, se possível de uma olhada na apresentação do Diogo
Biazus do PGCon do ano passado, é uma apresentação sobre como armazenar
imagens no PostgreSQL.

A apresentação está disponível em: http://www.postgresql.org.br

Vale a pena conferir!

[]s

2008/5/8 jota. comm <[EMAIL PROTECTED]>:

> Opa,
>
> Vamos lá:
>
> É importante você saber que na verdade sua imagem não é armazenada na
> tabela que você está especificando, nesta sua tabela é apenas criado um OID
> que faz referência a tabela pg_largeobject que é onde verdadeiramente está
> armazenada a sua imagem.
>
> Para conseguir retornar a imagem em um select, você tem que especificar a
> imagem de retorno, por exemplo:
>
> select lo_export(oid_imagem,'/caminho/da/imagem.jpg')
> from minha_tabela
> where nome_imagem='minha_imagem');
>
> Caso você venha a fazer um delete da imagem, você tem que ter o seguinte
> cuidado:
> Se você deletar apenas a imagem da sua tabela, o objeto não será apagado,
> pois ele está armazenado na tabela pg_largeobject, então você precisa
> remover de lá também.
>
> Para deletar da pg_largeobject
> select lo_unlink(oid_imagem);
> ou
> select lo_unlink(oid_imagem)
> from minha_tabela where minha_imagem='imagem';
>
> Apagando da sua tabela:
> delete from minha_tabela where minha_imagem='imagem';
>
> Espero ter ajudado.
>
> []s
>
> 2008/5/7 Raphael Teixeira de Carvalho Matos <[EMAIL PROTECTED]>:
>
>>
>>
>> 2008/5/7 Marcos Fabrício Corso <[EMAIL PROTECTED]>:
>>
>>>  olá pessoal]
>>> alguém trabalha com php e postgres, inserindo figuras no banco de dados ?
>>> tô precisando de uma ajuda com isso ...
>>>
>>> ainda estou testando local, por isso o c:
>>> para inserir no banco eu uso :
>>> *update escol215 set figura = lo_import ('c:/site/images/p2q6t4.jpg')
>>> where codigo = 2 and questao = 6 and tipo = 4 ;*
>>>
>>
>> Correto
>>
>>
>>> e para selecionar e mostrar a figura estou usando
>>> *select lo_export('c:/site/images/p2q6t4.jpg') from escol215 where
>>> codigo = 2 and questao = 6 and tipo = 4 ;*
>>>
>>> está correto ?
>>> na parte de inserir/fazer update está funcionando ...
>>> e para selecionar, não estou conseguindo, como fazer ??
>>>
>>
>> Você tem q especificar o nome do campo antes de dar o caminho e o nome da
>> imagem .. por exemplo   , pelo que eu vi o campo em que você armazena as
>> fotos é figura então ficaria da seguinte maneira :
>> *select lo_export( figura , 'c:/site/images/p2q6t4.jpg') from escol215
>> where codigo = 2 and questao = 6 and tipo = 4 ;*
>>
>>
>>> e depois que eu mudar para meu servidor, para o site, tenho que tirar o
>>> c:, como deve ficar o caminho ?
>>>
>>
>> Depende da estrutura do seu servidor . É windows ?
>>
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>
>
>
> --
> João Paulo
> www.dextra.com.br/postgres
> PostgreSQL




-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] php e postgres com figura

2008-05-08 Por tôpico jota . comm
Opa,

Vamos lá:

É importante você saber que na verdade sua imagem não é armazenada na tabela
que você está especificando, nesta sua tabela é apenas criado um OID que faz
referência a tabela pg_largeobject que é onde verdadeiramente está
armazenada a sua imagem.

Para conseguir retornar a imagem em um select, você tem que especificar a
imagem de retorno, por exemplo:

select lo_export(oid_imagem,'/caminho/da/imagem.jpg')
from minha_tabela
where nome_imagem='minha_imagem');

Caso você venha a fazer um delete da imagem, você tem que ter o seguinte
cuidado:
Se você deletar apenas a imagem da sua tabela, o objeto não será apagado,
pois ele está armazenado na tabela pg_largeobject, então você precisa
remover de lá também.

Para deletar da pg_largeobject
select lo_unlink(oid_imagem);
ou
select lo_unlink(oid_imagem)
from minha_tabela where minha_imagem='imagem';

Apagando da sua tabela:
delete from minha_tabela where minha_imagem='imagem';

Espero ter ajudado.

[]s

2008/5/7 Raphael Teixeira de Carvalho Matos <[EMAIL PROTECTED]>:

>
>
> 2008/5/7 Marcos Fabrício Corso <[EMAIL PROTECTED]>:
>
>>  olá pessoal]
>> alguém trabalha com php e postgres, inserindo figuras no banco de dados ?
>> tô precisando de uma ajuda com isso ...
>>
>> ainda estou testando local, por isso o c:
>> para inserir no banco eu uso :
>> *update escol215 set figura = lo_import ('c:/site/images/p2q6t4.jpg')
>> where codigo = 2 and questao = 6 and tipo = 4 ;*
>>
>
> Correto
>
>
>> e para selecionar e mostrar a figura estou usando
>> *select lo_export('c:/site/images/p2q6t4.jpg') from escol215 where codigo
>> = 2 and questao = 6 and tipo = 4 ;*
>>
>> está correto ?
>> na parte de inserir/fazer update está funcionando ...
>> e para selecionar, não estou conseguindo, como fazer ??
>>
>
> Você tem q especificar o nome do campo antes de dar o caminho e o nome da
> imagem .. por exemplo   , pelo que eu vi o campo em que você armazena as
> fotos é figura então ficaria da seguinte maneira :
> *select lo_export( figura , 'c:/site/images/p2q6t4.jpg') from escol215
> where codigo = 2 and questao = 6 and tipo = 4 ;*
>
>
>> e depois que eu mudar para meu servidor, para o site, tenho que tirar o
>> c:, como deve ficar o caminho ?
>>
>
> Depende da estrutura do seu servidor . É windows ?
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] php e postgres com figura

2008-05-07 Por tôpico Raphael Teixeira de Carvalho Matos
2008/5/7 Marcos Fabrício Corso <[EMAIL PROTECTED]>:

>  olá pessoal]
> alguém trabalha com php e postgres, inserindo figuras no banco de dados ?
> tô precisando de uma ajuda com isso ...
>
> ainda estou testando local, por isso o c:
> para inserir no banco eu uso :
> *update escol215 set figura = lo_import ('c:/site/images/p2q6t4.jpg')
> where codigo = 2 and questao = 6 and tipo = 4 ;*
>

Correto


> e para selecionar e mostrar a figura estou usando
> *select lo_export('c:/site/images/p2q6t4.jpg') from escol215 where codigo
> = 2 and questao = 6 and tipo = 4 ;*
>
> está correto ?
> na parte de inserir/fazer update está funcionando ...
> e para selecionar, não estou conseguindo, como fazer ??
>

Você tem q especificar o nome do campo antes de dar o caminho e o nome da
imagem .. por exemplo   , pelo que eu vi o campo em que você armazena as
fotos é figura então ficaria da seguinte maneira :
*select lo_export( figura , 'c:/site/images/p2q6t4.jpg') from escol215 where
codigo = 2 and questao = 6 and tipo = 4 ;*


> e depois que eu mudar para meu servidor, para o site, tenho que tirar o
> c:, como deve ficar o caminho ?
>

Depende da estrutura do seu servidor . É windows ?
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral