Importar imagens em campos bytea no PostgreSQL 9.1
Caso enfrente problemas ao importar imagens em campos bytea, verifique a versão do PostgreSQL de destino, pois na versão 9.1 o ‘bytea_output’ é ‘hex’ e não o tradicional ‘escape’.
Para verificar a versão de seu Postgres rode o comando:
select version();
Caso a versão seja 9.1 você pode alterar o ‘bytea_output’ para ‘escape’ com o comando:
ALTER DATABASE <nome_banco> SET bytea_output=’escape’;
Veja também
Como obter as informações de acesso a minha base de dados PostgreSQL (host, usuário, senha, nome da base, etc)?
Acesse seu Painel de Controle, informando usuário e senha;
Em Hospedagem de Sites, clique no link Site, da hospedagem desejada, conforme imagem abaixo:
No término da página, em Banco de Dados Compartilhado, clique na imagem do PostgreSQL, como no exemplo abaixo:
Clique no nome da base desejada;
Observação: As bases de dados instaladas atualmente não possuem restrição de acesso por IP, sendo desnecessário qualquer configuração para realizar o acesso.
Encoding
O Encoding criado por padrão para a sua base é latin1. Caso queira solicitar a alteração do Encoding, abra um chamado em nosso Help Desk na categoria PostgreSQL com a solicitação. IMPORTANTE: Este processo faz com que todos os dados do banco sejam apagados e o banco recriado.
Conexão à base de dados
As instruções para conexão via PHP e JSP/Servlets (JDBC) podem ser obtidas também em nosso Wiki:
Veja também
- Como acessar remotamente o PostgreSQL?
- Como definir ou alterar a senha do banco de dados postgreSQL?
- Como administrar minha base de dados PostgreSQL?
Criando e Administrando uma Tabela no POSTGRESQL
Para criar uma tabela chamada teste com campos coluna1 e coluna2 basta executar o comando SQL abaixo:
CREATE TABLE "tabela" ( "coluna1" varchar(40), "coluna2" varchar(40) ) ;
Para inserir valores na tabela criada, basta executar o comando SQL abaixo:
INSERT INTO "tabela" ("coluna1", "coluna2") VALUES ('teste1', 'teste1');
Trabalhando com os Dados Presentes no Banco
Primeiramente vamos testar a conectividade com o banco PostGreSQL usando o script abaixo:
<? if(!@($conexao=pg_connect ("host=HOST dbname=BANCO port=5432 user=LOGIN password=SENHA"))) { print "Não foi possível estabelecer uma conexão com o banco de dados."; } else{ pg_close ($conexao); print "Conexão OK!"; } ?> pg_connect(); função para conexão ao PostGreSQL. pg_close(); fecha a conexão ao banco.
- Host: caminho do servidor (não utilize ‘localhost’ e sim ‘postgres01.DOMINIO’)
- Login: usuário utilizado na conexão ao banco de dados PostgreSQL
- Senha: senha do banco de dados PostgreSQL
Recuperando Dados do Banco PostgreSQL
Para executar comandos em um banco de dados PostgreSQL, utilizamos a função pg_exec();
<? if(!@($conexao=pg_connect("host=HOST dbname=BANCO port=5432 user=LOGIN password=SENHA"))) { print "Não foi possível estabelecer uma conexão com o banco de dados."; }else{ $sql = "SELECT coluna1, coluna2 FROM tabela"; $result = pg_exec($conexao, $sql); /* Escreve resultados até que não haja mais linhas na tabela */ for($i=0; $consulta = @pg_fetch_array($result, $i); $i++) { print "Coluna1: $consulta[coluna1] - Coluna2: $consulta[coluna2]
"; } pg_close($conexao); } ?>
- Observação
- na versão 4.2.X a função
pg_exec();
passou a se chamarpg_query();
maspg_exec();
permanece funcional. Para saber a versão do PHP utilizada em seu site basta verificar as instruções presentes no link PHP na Locaweb.
Veja também