anúncios

sexta-feira, 7 de dezembro de 2018

Integrando o PostgreSQL no XAMPP

Sabemos que os que desenvolvem em PHP no Windows, geralmente utilizam o XAMPP, ferramenta que inclui Apache, PHP e MySQL, faltou incluir o PostgreSQL, então, o objetivo deste howto é explicar a integração com SGBD PostgreSQL no XAMPP.

Segue os procedimentos:
Download no setup: PostgreSQL + pgAdmin
Após o download, executar o setup de onde salvou, este inclui o SGDB PostgreSQL e pgAdmin
Supondo que fez a instalação default do XAMPP no diretório c:/xampp, então crie o diretório c:/xampp/pgsql e durante a instalação quando perguntar onde deseja instalar o PostgreSQL, escolhe c:/xampp/pgsql
Define o password para o usuário administrador postgres
Por fim está instalado o PostgreSQL com pgAdmin.

Configuração de integração PostgreSQL no XAMPP

Abre o arquivo c:/xampp/php/php.ini e descomente as linhas abaixo:
extension=pdo_pgsql
extension=pgsql

Reinicie o serviço
Reinicie o Apache pela ferramenta XAMPP

Testes
Agora crie um arquivo info.php

< ?php
  phpinfo();

Veja se o módulo pdo_pgsql foi habilitado, conforme o screenshot



Agora para confirmar, teste a conexão com PostgreSQL no script PHP
testeconectapgsql.php
< ?php
try{
$conn = new PDO('pgsql:host=127.0.0.1;port=5432;dbname=postgres', 'postgres','password');
if($conn) {
echo "database conectado";
}
}catch (PDOException $e){
// report error message
echo $e->getMessage();
}
No browser http://localhost/testeconectapgsql.php
Com isso, irá aparecer a mensagem "database conectado" , se as credencias do usuário, password e banco estiverem corretas.

Feito!

10 comentários:

  1. Perfeito, estava me matando aqui pra enteder como fazer o PostgreSQL funcionar no xampp. As matérias que eu estava achando no Google estavam desatualizadas. A sua ajudou bastante. Não precisei apenas instalar o Postgre no local indicado, deixei a instalação padrão que já tinha feito antes de ler essa matéria e como sugestões dos comentários deram certo. Obrigado

    ResponderExcluir
  2. Muito obrigado Reginaldo!
    Também estava me matando pra incluir o postgre

    ResponderExcluir
  3. Estou com problemas neste sentido. Não uso o XAMPP. Consegui conectar o APACHE com o PHP e com o MySQL, porém o Postgre não vai de jeito nenhum. Aparece do info do PHP: PDO Driver for PostgreSQL e enabled e abaixo: PostgreSQL(libpq) Version 11.4. Porém ao tentar conectar retorna o erro: Call to undefined function pg_connect(). Apache2.4/PHP Version 7.4.5/postgresql-12.2-4. Alguma dica?

    ResponderExcluir
    Respostas
    1. No arquivo php.ini já habilitou a extensão do PostgreSQL, como segue?

      Por default, as linhas seguintes do arquivo php.ini vem comentadas, basta remover o ponto-e-vírgula ; e reiniciar o servidor web Apache.

      extension=pdo_pgsql
      extension=pgsql

      Para testar crie um script testepgsql.php com o código abaixo:
      < ?php

      echo extension_loaded('pgsql');

      Veja o resultado.

      Excluir
  4. Depois de conectado, como eu posso interagir com o postgres? Tipo importa db, criar dbs e tabelas e etc

    ResponderExcluir
    Respostas
    1. Adminer

      https://mundodacomputacaointegral.blogspot.com/2018/11/instalando-e-configurando-o-adminer.html

      Excluir
  5. Estava sofrendo pra ativar o PDO. Sua matéria de forma simples e objetiva me ajudou bastante. Muito obrigado.

    ResponderExcluir