Eu instalei o PostgreSQL 9.1 no Ubuntu 12.10
E agora eu tenho uma tabela chamada propriedade
Desejo adicionar um campo que possa ser usado para armazenar fotos (link para a foto ou importar uma foto para uma coluna?)
Mas eu não sei como adicionar este campo
O PostgreSQL pode fazer isso?
Em caso afirmativo, quais palavras-chave posso usar para encontrar essas informações?
Atualização 30/10/2013
Eu tento usar oid para importar meus arquivos e funciona bem!
Mas quando eu quero usar um usuário não superusuário para gerar arquivos,
está me dando um erro
ERROR: must be superuser to use server-side lo_export()
HINT: Anyone can use the client-side lo_export() provided by libpq.
Como usar o lado do cliente lo_export()
?
Eu tento pesquisar no Google, mas há quase todos os tutoriais do lado do servidor
Então eu tentei usar byteA
funciona bem com outro usuário, mas não pode exportar dados para um arquivo?
Eu tentei usar , bytea_export
mas bytea_import
é feito pelo script sql de Jack, não uma função interna
Portanto, há mais duas perguntas:
1) Como usar clent_sidelo_export()
2) como usar bytea_export()
??
Obrigado por respostas!
Existem duas maneiras de armazenar LOBs de objetos grandes (como fotos e imagens) em sua tabela de propriedades. Você pode usar o tipo de dados BYTEA, que é limitado a 1 GB. A outra opção é OID, que armazena objetos grandes em uma estrutura LOB especial. A coluna OID é limitada a 2 GB.
OID
Aqui está a documentação relevante do postgres sobre o OIDS.
BYTEA
Aqui está um ótimo exemplo de Jack Douglas sobre como usar uma função para importar dados para uma coluna bytea. Apenas lembre-se que para usar a função, você teria que executar o seguinte comando para ativar o plpgsql.
(onde bytea_import_function.sql contém o código do exemplo de Jack .)
Agora conecte-se ao psql e ao seu banco de dados
OID tem várias vantagens sobre BYTEA. O BYTEA pré-carregará suas imagens na memória antes de enviá-las ao usuário, enquanto uma coluna OID transmite os dados diretamente ao usuário.
Não armazene imagens no banco de dados
Não há recursos de banco de dados que possam editar ou processar uma foto. Armazená-los provavelmente bloqueará sua sessão db por longos períodos. Não há absolutamente nenhuma razão para fazer isso. O PostgreSQL não é um sistema de arquivos, é um banco de dados.