Cómo integrar la base de datos postgreSQL en XAMPP en Windows

Cómo integrar postgreSQL en XAMPP

Durante el fin de semana, decidí aprender sobre la base de datos postgreSQL. Para poder usarlo, se necesita instalarlo y ejecutarlo en mi máquina local.

Como ya estoy usando XAMPP como una servidor LAMP, será más fácil integrar postgreSQL en él que compilarlo con PHP desde cero.

En este artículo, te mostraré cómo pude instalar e integrar postgreSQL en XAMPP, así como pgAdmin y phpPgadmin en Windows.

Instalación de PostgreSQL

  1. Descarga el instalador de postgreSQL de EnterpriseDB.
  2. Ejecuta el instalador y sigue las instrucciones del instalador.
    Nota: pgAdmin también se instalará con este ejecutable.
  3. Suponiendo que XAMPP está en C:\xampp selecciona en el instalador la ruta: C:\xampp\pgsql 9.1.
  4. Te requerirá una contraseña para el usuario root de postgres.
  5. Una vez realizado este punto, la instalación de pgSQL se habrá acabado.

Configura postgreSQL para llamarlo con PHP

Necesitamos realizar los siguientes cambios para que PHP se comunique con pgSQL.

  1. Abre el archivo php.ini ubicado en C:\xampp\php.
  2. Descomenta las siguientes líneas en php.ini
    extension = php_pdo_pgsql.dll
    extension = php_pgsql.dll
  3. Agrega el siguiente fragmento de código en httpd.conf
    LoadFile "C:\xampp\php\lib\pq.dll"
  4. Hecho.

pgAdmin: La herramienta de administración de las bases de datos

Cuando estábamos instalando postgreSQL, como ya comenté al principio del tutorial, se instaló pgAdmin, una herramienta gráfica de administración de bases de datos pgSQL, algo así como el phpMyAdmin de MySQL/MariaDB. Aún así, hay una herramienta más parecida a esta para ser más exactos; la herramienta de este tipo para postgre sería el phpPgAdmin.

Si eres como yo, que me intimida el línea de comando, encontrarás útiles estas herramientas.

pgAdmin Inicio rápido

Para comenzar con pgAdmin en la creación y administración de la base de datos de postgres; primero crea un servidor, conéctate a él y crea la base de datos para tu proyecto.

Comencemos con la creación del servidor.

  1. Haga clic en Archivo> Agregar servidor …
  2. Complete el formulario como se muestra en la imagen a continuación.

Agregar servidor a pgAdmin

Nota: ingresa el nombre de usuario y la contraseña en el campo postgres como nombre de usuario y en el campo de contraseña, la contraseña ingresada durante la instalación de postgreSQL.

Ahora puedes seguir adelante para crear una base de datos.

Para crear la base de datos, en el servidor que creamos, haz clic con el botón derecho en el menú Base de datos y haz clic en Nueva base de datos.

Integración de phpPgAdmin XAMPP

Ahora llegó el gran momento. Integraremos phpPgAdmin en XAMPP para tener una experiencia similar que con MySQL.

  1. Vete al repositorio de Github y clona el repositorio en C:\xampp\php\pgadmin.
    Alternativamente, descarga el repositorio. como zip y extraiga el contenido a C:\xampp\php\pgadmin.
  2. En C:\xampp\php\pgadmin\conf, cambia el nombre del archivo config.inc.php-dist por config.inc.php
  3. Y ahora lo editas reemplazando los siguientes valores.
            
    $conf['servers'][0]['host'] = 'localhost';
    $conf['servers'][0]['pg_dump_path'] = 'C:\xampp\pgsql\9.1\pg_dump.exe';
    $conf['servers'][0]['pg_dumpall_path'] = 'C:\xampp\pgsql\9.1\pg_dumpall.exe';
    $conf['extra_login_security'] = false;
    
  4. Edita el archivo de XAMPP httpd-xampp.conf y agrega el código a continuación.
            
    Alias /phppgadmin "C:/xampp/phppgadmin/"
    <directory "C:/xampp/phppgadmin">
    AllowOverride AuthConfig
    Require all granted        
    
  5. Reiniciar Apache
  6. Ahora ya deberías poder usar phpPgAdmin cuando visites http://localhost/phppgadmin.

Prueba pgSQL y PHP

Crea una prueba que verificará una conexión PHP a postgres usando pg_connect ().
Si tiene éxito, se devuelve el recurso de conexión de PostgreSQL o se devuelve FALSE si falla.

    
< ?php
        $link = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=mypassword");
        print_r($link);

Espero que esta guía le haya resultado útil.