Re: [pgbr-geral] php e postgres com figura
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
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/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