Martes, 25 Junio 2013 15:12

Instalar postgresql y xampp en Windows.

Escrito por 
Valora este artículo
(1 Voto)

Instalar xampp + PostgreSQL en Windows.

Paso a paso muestro cómo instalar xampp para trabajar por PostgreSQL en Windows. 

1) xampp

Primero bajar xampp desde http://www.apachefriends.org/download.php?xampp-win32-1.8.1-VC9-installer.exe

Necesitamos además el paquete de Microsoft Visual C++ Redistributable, versión al menos 2008. Lo bajamos e instalamos desde www.microsoft.com/es-es/download/details.aspx?id=29

Ejecutamos el instalador de xampp

Seleccionamos los paquetes que deseamos instalar. Por defecto, seleccionamos todos.

Luego la carpeta donde instalaremos xampp, por defecto c:\xampp

Seleccionamos si queremos instalar bitnami (un instalador que nos permite fácilmente instalar luego Drupal, Wordpress o Joomla facilmente)

Y con "Next" comenzamos la instalación propiamente dicha. Al terminar ...

Con click en “Finish” cerramos el instalador y se lanza el panel de control. En primer lugar tenemos el control de Apache. Lo iniciamos con “Start” y si la instalación fue correcta debería informarnos que PID tiene, y en que puertos está escuchando (por defecto en el 80 y en 443). En la columna de la izquierda (service) vemos que no está instalado como servicio. Por ahora lo dejamos así.

3) PostgreSQL.

Bajar instalador de postgresql desde http://www.enterprisedb.com/products-services-training/pgdownload#windows y ejecutarlo.

Seleccionamos el directorio donde vamos a instalar postgresql, el directorio de datos y el puerto para PostgreSQL

Elegimos contraseña para el usuario postgres y la configuración regional (por defecto tomará la de del sistema operativo)

Comenzará la instalación si misma, y al final nos preguntará si queremos lanzar stackbuilder, que nos permitira instalar drivers y utilidades adicionales. Lanzamos stackbuider que nos preguntará en puerto está funcionando PostgresSQL (el 5432) y seleccionamos para instalar los drivers ODBC.

Finalmente, iniciará la instalación del driver ODBC (esto es opcional) y reiniciamos el equipo.

Ahora editamos c:\xampp\apache\conf\httpd.conf para que encuentre los módulos necesarios

LoadFile C:\Archivos de programa\PostgreSQL\9.2\lib\libpq.dll

Editamos C:\Archivos de programa\PostgreSQL\9.2\data\pg_hba.conf para permitir el acceso a nuestra IP (en este caso 192.168.5.132)

# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.5.139/24 md5

Verificamos en C:\Archivos de programa\PostgreSQL\9.2\data\postgresql.conf que PostgreSQL esté activo en todas las IP (o en la que vamos a dar servicio)

# - Connection Settings -

listen_addresses = '*'

Y reiniciamos el equipo.

Ahora vamos a generar unos datos de ejemplo, usando pgbench. Abrimos una consola y vamos hasta “C:\Archivos de programa\PostgreSQL\9.2\bin” y creamos una base de datos de prueba

createdb -U postgres prueba1

Ingresamos la contraseña y listo, creada la primer base de prueba.

Ahora generaremos unos datos de muestra con pgbench.

pgbench -U postgres -h localhost -i prueba1

Corremos un pequeño test para ver performance (va a demorar bastante)

C:\Archivos de programa\PostgreSQL\9.2\bin>pgbench -U postgres -h localhost -c 10 -t 1000 -d prueba1
...
...
transaction type: TPC-B (sort of)
scaling factor: 1
query mode: simple
number of clients: 10
number of threads: 1
number of transactions per client: 1000
number of transactions actually processed: 10000/10000
tps = 17.806296 (including connections establishing)
tps = 17.831409 (excluding connections establishing)

3) Habilitar extensiones php.

 

Para habilitar los módulos de php editamos C:\xampp\php\php.ini, y descomentamos (sacamos el “;” ) los módulos correspondientes.

...
extension=php_pdo_pgsql.dll
...
extension=php_pgsql.dll ....

Reiniciamos el equipo.

4) Instalar phpPgAdmin.

 

Desde http://phppgadmin.sourceforge.net/doku.php?id=download bajar phppgadmin. descomprimirlo y copiar el contenido del directorio a c:\xampp\htdocs\phppgadmin

Editamos el archivo de configuracion C:\xampp\htdocs\phppgadmin\conf\config.inc.php para dar de alta la IP de nuestro server y permitir el acceso.

....
$conf['servers'][0]['host'] = '127.0.0.1';
....
$conf['extra_login_security'] = false; #permite el acceso como usuario postgres

Ahora ya podemos ingresar a pgPhpAdmin con el usuario postgres y la contraseña elegida.

Y podemos ver los datos generados por pgbench

Realizamos la última prueba. Creamos el archivo c:\xampp\htdocs\prueba\prueba1.php y le pegamos el siguiente código

<?php
try {
    $db = new PDO("pgsql:dbname=prueba1;host=localhost", "postgres", "qwerty" );
    echo "Objeto de conexion PDO creado <hr>";
    $sth= $db->prepare ("SELECT count(*) FROM pgbench_accounts ");
    $sth -> execute();
    $row = $sth->fetch(PDO::FETCH_NUM);
    echo "Cantidad de registros en pgbench_accounts: ".$row[0]."<br>";
    $sth= $db->prepare ("SELECT count(*) FROM pgbench_branches ");
    $sth -> execute();
    $row = $sth->fetch(PDO::FETCH_NUM);
    echo "Cantidad de registros en pgbench_branches: ".$row[0]."<br>";
    $sth= $db->prepare ("SELECT count(*) FROM pgbench_history ");
    $sth -> execute();
    $row = $sth->fetch(PDO::FETCH_NUM);
    echo "Cantidad de registros en pgbench_history: ".$row[0]."<br>";
    $sth= $db->prepare ("SELECT count(*) FROM pgbench_tellers ");
    $sth -> execute();
    $row = $sth->fetch(PDO::FETCH_NUM);
    echo "Cantidad de registros en pgbench_tellers: ".$row[0]."<br>";
} catch(PDOException $e) {
    echo $e->getMessage();
}
?>

Si abrimos con el browser el archivo php que generamos, se consultarán la cantidad de registros que contienen cada una de las tablas que creamos con pgbench

Listo ... a trabajar !!!
 

Visto 31214 veces Modificado por última vez en Domingo, 06 Abril 2014 10:39

2 comentarios

  • Enlace al Comentario Leonardo Paskvan Martes, 03 Septiembre 2013 22:00 publicado por Leonardo Paskvan

    En c:\xampp\apache\conf\httpd.conf, dentro de la sección donde carga todos los módulos (Dynamic Shared Object - DSO - Support). Te copio unas líneas para que te guíes. En mi caso, segun notepad++, lo agregué en la línea número 141

    #Dinamic Shared Object (DSO) Support
    LoadModule access_compat_module modules/mod_access_compat.so
    ...
    ...
    LoadFile "C:/Archivos de programa/PostgreSQL/9.2/bin/libpq.dll"




    Saludos !

    Reportar
  • Enlace al Comentario Fernando Martes, 03 Septiembre 2013 19:36 publicado por Fernando

    CHe en que parte del archivo le pusiste lo siguiente: LoadFile C:\Archivos de programa\PostgreSQL\9.2\lib\libpq.dll. Te agradezco

    Reportar
Inicia sesión para enviar comentarios