Suscríbete a este blog
  • Acerca de...

    Este es un blog personal. Simplemente me deje llevar por las corrientes de la historia y he separado los temas de los que me gusta escribir. Como se dice, segmenté mis temas. Aún así, los artículos mas antigüos están en este blog.

    También hay una pestañita de contacto y una lista de los servicios con los que puedo ayudarte. Si quieres un blog como este, avísame.

    Redes Sociales

    Blogroll

    • Próximamente

    Admin

    ¡Suscríbete!

  • Categorías

  • Archivos

  • Comentarios Recientes

  • Como compilar PostgreSQL en Ubuntu

    27 de Enero 2006 9:01 PM por Sanchez Toledano

    Qué es PostgreSQL

    PostgreSQL es un podoros sistema de administración de bases de datos relacionales de código abierto. Tiene mas de 15 años de activo desarrollo y una probada arqutectura que se ha ganado una sólida reputación por su desempeño, integridad de datos y alta disponibilidad. Cumple completamente con las pruebas ACID, tiene soporte completo para claves foráneas, uniones, vistas, disparadores y procedimientos almacenados (en múltiples lenguajes). Incluye la mayoría de los tipos de datos SQL92 y SQL99, incluyendo INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, y TIMESTAMP. También soporta el almacenaje de grandes objetos binarios, incluyendo imágenes, sonidos y vídeo. Tiene interfaces de nativas de programación para C/C++, Java, Perl, Python, Ruby, Tcl, ODBC entre otras y una documentación extraordinaria.

    Instalación

    Dónde obtenerlo

    Primero debemos descargar la última versión (el día de hoy la 8.1.2) de uno de los servidores espejos de PostgreSQL. Necesitamos este archivo: postgresql-8.1.2.tar.bz2.

    Variables de entorno

    Para mejorar en algo el desempeño de PostgreSQL podemos definir una serie de variables para el compilador llamadas CFLAGS; estas son las mías:

    1. CHOST=”i686-pc-linux-gnu”
    2. CFLAGS=”-O3 -march=pentium-m -pipe -fomit-frame-pointer”
    3. CXXFLAGS=”${CFLAGS}”
    4. export CHOST CFLAGS CXXFLAGS

    Desempaquetando las fuentes

    Para desempaquetar las fuentes ejecutamos el siguiente comando en el directorio destino:
    1. tar xvfj ~/descargas/postgresql-8.1.2.tar.bz2
    Una vez hecho esto nos cambiamos al directorio postgresql-8.1.2 recién creado y comenzamos la configuración.

    Configuración

    Esta es una de las etapas más importantes, ya que aquí elegimos las características que tendra nuesto postgres. Estas son las más importantes:

    ./configure
    Este guión ejecuta una serie de pruebas para conocer las dependencias necesarias que necesita postgres para poder compilarse, al final, si se cumplen con todos los requisitos y se pasan todas las pruebas, se crean los archivo para make. Usaremos las siguientes variables para su creación.
    -datadir=/home/postgres
    Establece el directorio para los archivos de solo lectura usados por los programas instalados. No tiene nada que ver con el lugar donde se almacenan los datos.
    -with-perl
    Construye el lenguaje del lado del servidor PL/Perl.
    -with-python
    Construye el lenguaje del lado del servidor PL/Python.
    -with-tcl
    Construye el lenguaje del lado del servidor PL/Tcl
    -with-openssl
    Construye el soporte para conexiones SSL (encriptadas).
    -enable-integer-datetimes
    Usa un enteros de 64 bits para almacenar horas, fechas e intervalos de tiempo, en lugar del tipo punto flotante que se usa por omisión.
    -enable-thread-safety
    Hace las librerías clientes seguras para los hilos.
    -enable-cassert
    Habilita comprobaciones tipo “cierto o falso” en el servidor, lo que prueba muchas condiciones de la clase “nunca pasaría”. Esto es invaluable para propósitos de desarrollo de código pero las pruebas hacen que las cosas vayan un poco lentas.
    Al final, tendríamos una línea como la siguiente:
    ./configure -datadir=/home/postgres/ -with-perl -with-python -with-tcl -with-openssl -enable-integer-datetimes -enable-thread-safety -enable-cassert

    Si todo sale bien, y cumplimos con todas las dependencias podemos simplemente escribir make para que empiece la compilación.

    Terminada la compilación instalamos los archivos usando el comando make install. Una vez terminado podemos configurar nuestro servicio.

    Arranque

    1. Creamos una cuenta para el usuario postgres, usando el comando adduser postgres. Establecemos su directorio inicial como /home/postgres

    2. Usando el comando su no convertimos en el usuario postgres y creamos el directorio /home/postgres/data. Apartir de este momento usamos este usuario.
    3. Creamos la instalación inicial con el comando “initdb”, de la siguiente manera: /usr/local/pgsql/bin/initdb -D /home/postgres/data. La -D especifica la ubicación de las bases de datos.

    4. Ahora iniciamos el servidor:/usr/local/pgsql/bin/postmaster -D /home/postgres/data. Esto incia el servidor en primer plano; para iniciarlo en segundo plano empleamos este comando: nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >server.log 2>&1
    5. Para detener el servicio iniciado en segundo plano, empleamos este comando: kill `cat /usr/local/pgsql/data/postmaster.pid`
    6. Creamos una base de datos: createdb testdb Luego escribimos: psql testdb para conectarnos a esa base de datos.