Apache 2.4 + PHP 7.3 + PostgreSQL 11 + ¿Windows 10? Aunque usted no lo crea!

Estamos en plenas actividades de “Automatización de procesos”, en donde la premisa es ayudar al equipo con las tareas rutinarias y reiterativas, para que se enfoquen en los incidentes y sus soluciones. Es en este contexto que tenemos un desafío bastante simpático…

En resumen, desde un servidor nos llega un archivo de texto separado por punto y coma, tipo CSV. La información de este archivo debe ser ingresada a la BD a través de un SP o una Function (confieso que inicialmente me sedujo la posibilidad de hacer esto con MySQL, pero el lío con las versiones y la rutina de importación me decepcionó). La importación luego debe pasar por algunos filtros hasta almacenar sólo la información que sea relevante para el sistema… Todo esto en el menor tiempo posible y atendiendo la necesidad de entregar una pantalla con dicha información lo más cercano a “Tiempo Real”.

Ok, ok, tiempo real no, pero el menor tiempo posible… Quizás!

Lo primero fue buscar info de cómo instalar todo por separado… La verdad eso de XAMP, WAMP, MAMP y sus derivados me tenían aburrido, asi es que “como me sobra el tiempo” Decidí ir por la instalación de cada cosa por separado…

No pienso inventar la rueda de nuevo, así es que les comparto el tutorial super cachilupi que hicieron los bros de Solvetic: https://www.solvetic.com/tutoriales/article/4376-como-instalar-manualmente-apache-php-mysql-windows-10/

¿Cual es el problema al final del túnel?

Claramente apuntan a MySQL, pero la instalación de PostgreSQL es limpia y sin mayor complejidad que un siguiente, siguiente, siguiente, finalizar.

Luego de todo eso viene la magia… en el archivo hhtpd.conf agregamos este bloque al inicio del archivo, por favor, cambie la ruta según la versión de PostgreSQL y la ubicación de PHP que elegiste:

LoadFile “C:\Program Files\PostgreSQL\11\bin\libpq.dll”
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php .html
LoadModule php7_module “c:/php/php7apache2_4.dll”
PHPIniDir “c:/php”

Además debemos habilitar la conexión entre PHP y PostgreSQL en el archivo php.ini:

extension=pdo_pgsql
extension=pgsql

Finalmente, reiniciamos el servicio y creamos un archivo de prueba para verificar la conexión…Ok, Ok, antes de probar la conexión, obviamente deben crear la BD en PostgreSQL…

…El código de prueba sugerido es:

<?php

// detalles de la conexion
$conn_string = “host=localhost port=5432 dbname=MiBaseDeDatos user=postgres password=MiPassword options=’ — client_encoding=UTF8'”;

// establecemos una conexion con el servidor postgresSQL
$dbconn = pg_connect($conn_string);

// Revisamos el estado de la conexion en caso de errores.
if(!$dbconn) {
echo “Error: No se ha podido conectar a la base de datos\n”;
} else {
echo “Conexión exitosa\n”;
}

// Cerramos la conexion
pg_close($dbconn);

?>

Si todo sale bien y Murphy no nos acompaña, deberían ingresar al archivo a través de su navegador web y recibir el mensaje “Conexión Exitosa”.

Bueno, luego de una mañana intensa, seguimos con el problema inicial… Importar los datos usando las funcionalidades del motor de BD PostgreSQL.

Happy Hacking!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *