Ir al contenido principal

Instalación Configuración Postgres

PostgreSQL es una base de datos relacional, distribuida bajo licencia BSD y con su código fuente disponible libremente. Es el motor de bases de datos de código abierto más potente del momento y en sus últimas versiones empieza a no tener que envidiarle nada a otras bases de datos comerciales.



Sus características técnicas la hacen una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzo hace más de 15 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. En los últimos años se han concentrado mucho en la velocidad de proceso y en características demandadas en el mundo empresarial.

La última serie de producción es la 8.2, siendo la última versión disponible en el momento de escribir este artículo la 8.2.4. PostgreSQL se puede ejecutar en la gran mayoria de sistemas operativos existentes en la actualidad, entre ellos Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows. Las características más importantes y soportadas son:

* Es una base de datos 100% ACID
* Llaves ajenas (foreign keys)
* Joins
* Vistas (views)
* Disparadores (triggers)
* Reglas (Rules)
* Funciones/procedimientos almacenados (stored procedures) en numerosos lenguajes de programacion, entre otros PL/pgSQL (similar al PL/SQL de oracle)
* Numerosos tipos de datos, posibilidades de definir nuevos tipos
* Soporta el almacenamiento de objetos binarios grandes (gráficos, videos, sonido, ...)
* Herencia de tablas (Inheritance)
* PITR - point in time recovery
* Tablespaces
* Replicación asincrona
* Nested transactions (savepoints)
* Two-phase commit
* Copias de seguridad en caliente (Online/hot backups)
* Unicode
* Juegos de caracteres internacionales
* Multi-Version Concurrency Control (MVCC)
* Acceso encriptado via SSL
* SQL92/SQL99
* APIs para programar en C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, PHP y muchos otros lenguajes.
* Completa documentacion

Otra caracteristica muy a tener en cuenta es lo bien que PostgreSQL funciona con grandes cantidades de datos y una alta concurrencia, con muchos usuarios accediendo a la vez el sistema.

Instalacion
Instalar con YUM en Red Hat Entreprise 5 se hace bastante sencillo.
$ yum -y install postgresql postgresql-server

Observe la imagen a continuacón.
Configurando el servicio
Una vez instalado el servicio postgresql es necesario marcarlo,para que inicie automaticamente la proxima vez que iniciemos el equipo.
$ chkconfig postgresql on

Luego es necesario iniciar el servicio por primera vez.
$ service postgresql start

Observe la imagen a continuación
Necesitamos acceder la consola psql con el usuario postgres
$ su postgres
psql -d template1 -U postgres


Cambiaremos el password del usuario postgres, estando logueado en el servidor postgres
ALTER user postgres with password 'nuevapassword'


Una vez en la consola psql podemos mostrar las base de datos postgres con el comando \l
template1=# \l

para salir de la consola psql podemos usar el comando \q
template1=# \q

observe la imagen a continuación.



Editamos el archivo postgresql.conf en donde le quitaremos el filtro para que pueda escuchar direcciones que no sean la local solamente.
vi /var/lib/pgsql/data/postgresql.conf


buscamos la linea
#listen_addresses = 'localhost'
#port = 5432
#password_encryption=on
//Reemplazamos por
listen_addresses = '*'
port = 5432
password_encryption=on

Observe la imagen a continuación.
Ahora habilitaremos el puerto 5432, para ello utilizaremos una herramienta muy practica
system-config-securitylevel-tui

Obtendra la siguiente ventana observe la imagen a continuación.


En donde elegimos el nivel del firewall (Enforcing es el recomendable) y lo customizamos, observe la imagen a continuación.


En donde dice Others Ports agregue "postgres:tcp" o pueden poner directamente el puerto por default 5432.

Si necesita instalar las librerias para conexiones php
yum -y install php-pgsql

luego reinicie el servidor Apache para cargar las nuevas librerias php-pgsql
service httpd restart

Para poder observar que las librerias han sido cargadas con exito vamos hacer uso de la funcion phpinfo() en un archivo test.php y luego lo publicaremos en nuestro DocumentRoot /var/www/html de nuestro servicio httpd, para despues visualizar en nuestro FireFox.
vi /var/www/html/test.php

<?php
phpinfo();
?>

Observe la imagen a continuación.



Como se puede apreciar las funcion phpinfo() informa que se cargo correctamente la libreria para poder ahora trabajar con PHP & Postgres

Comentarios

  1. Amigo, en centos cómo puedo hacer para actualizar la librería php-pgsql ya que pretendo que sea la misma versión que la del server.
    Desde ya muchas gracias

    ResponderBorrar
    Respuestas
    1. Estimado Guillermo, si utilizaste los Repositorios YUM para actualizar el Servidor PostGres, solo bastara que desinstales la librería php-pgsql con el comando: yum -remove php-pgsql
      Y volver a instalar la librería desde los repositorios con el comando yum -y install php-pgsql

      Borrar
  2. buen tutorial amigo pero tengo una pregunta cuando:
    yum -y install postgresql postgresql-server
    me saldrá la versión de postgres de Q deseo instalar xQ yo quiero instalar el postgres 8.4 en Centos 6...gracias de antemano .

    ResponderBorrar
    Respuestas
    1. Estimado Robinho el comando YUM por lo general busca el paquete RPM dentro de sus repositorio, para mayor referencia podrías leer como configurar los repositorios YUM http://superahacker.blogspot.com/2009/04/yum-repositorio-centos-5.html

      Si lo que deseas es instalar una versión menor a la actual tendrás que descargar el paquete RPM y utilizar el siguiente comando con negación de la comprobación de firma GPG:
      yum localinstall turpm.rpm --nogpgcheck

      Borrar

Publicar un comentario

Entradas más populares de este blog

JSP y MySQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/06/instalacion-netbeans-glassfish.html El modulo JSP con conexion a una base de datos MySQL, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage" , para usar sus metodos y con ellos llevar acabo una consulta.

JSP y MsSQL Conexion a Base de Datos

Tema anterior: http://superahacker.blogspot.com/2009/09/jsp-y-mysql-conexion-base-de-datos.html El modulo JSP con conexion a una base de datos Ms SQL Server, tiene las siguientes caracteristicas usar una clase Java llamada "Customers" que se encuentra en un package llamado "Mypackage" , para usar sus metodos y con ellos llevar acabo una consulta.

FreeTDS para el acceso a MsSQL desde PHP en Linux CentOS 5

Tema Anterior: http://superahacker.blogspot.com/2009/04/instalacion-de-unixodbc-para-la.html En esta ocasion la situación es como conectar con PHP 5 desde un Servidor Linux a una base de Datos Ms Sql Server en Servidor Windows.