Instalacion PostgreSQL Linux

8
  Master en Software Libre - Bases de Datos Manual de instalación de PostgreSQL (versión Linux) Introducción ¿Qué es PostgreSQL? PostgreSQL es un software de Base de Datos (BD) con licencia de dist ribución tip o BSD 1 , o sea, es un programa de uso y distribución libre. Del mismo se puede obtener el programa fuente pa ra modi fi carl o, ampl iarlo, o corr eg ir se n la s pr op ia s necesidades. De entre los Sistemas de Gestión de Bases de Datos (SGBD) actuales, destaca por su est abi lidad, posibilida des y ve rsatilidad, contando con ca rac ter ísticas que inc lus o algunos SGBD comerciales no incorporan en la actualidad. El haber sido desarrollado desde un inicio en un entorno académico (Universidad de Berkeley - 1974), hace que esté concebido como una plataforma de exhibición del estado del arte de la tecnología en esta rama del software. En sus inicios fue una demostración de lo que tendrían que ser los SGBDs futuros (incorporando por lo tanto opciones que 'comercialmente' no eran desarrollables según un estricto criterio de beneficios empresariales). Actualmente tod aví a des tac a par a ten er carac ter íst icas muy adelantad as, que dif ícilmente se encuentran en otros sistemas de su categoría (por ejemplo: el subsistema GisT, que facilita el almacenamiento e indexación de polígonos tridimensionales en sistemas cartográficos y topográficos). El constante crecimiento de la popularidad del software libre (tipo GNU, GPL o similares), hace que sea imprescindible conocer en profundidad estos entornos, a efectos de poder desarrollar las aplicaciones que demanda el mercado actual. La constante aparición de empresas que ofrecen soporte al software libre (IBM, Novell, SUN, entre otros), hace que se desvanezcan las dudas de si este tipo de software es viable en un futuro, ya que en este nuevo paradigma se trasladan las inversiones iniciales de compra, al mantenimiento y a mejores desarrollos. La disponibilidad del código fuente de las aplicaciones con licencia BSD, hace que no se depe nda del fabricante del software para la continui da d del pr oducto. el fabricante desapareciera, la inversión hecha en el desarrollo del software propio (sobre un SGBD concreto por ejemplo) estaría asegurada, ya que este motor de base de datos seguiría teniendo el mantenimiento de una comunidad de usuarios global, que estaría interesada en solucionar los problemas que surgieran, e incluso de continuar su evolución. También se tiene que considerar que el desarrollo de los módulos de idioma u otras características que podrían no ser rentables a un fabricante concreto, pueden ser desarrollado por los 'terceros' que estén interesados. 1  Existen otros BDs que se mueven en torno al software libre, pero que no lo son realmente. MySQL por ejemplo, tiene licencia dual (gratuito para uso privado y de pago en usos comerciales/empr esariales). 1

description

Instalacion PostgreSQL Linux

Transcript of Instalacion PostgreSQL Linux

  • Master en Software Libre - Bases de Datos

    Manual de instalacin de PostgreSQL(versin Linux)

    Introduccin

    Qu es PostgreSQL?PostgreSQL es un software de Base de Datos (BD) con licencia de distribucin tipo BSD1, o sea, es un programa de uso y distribucin libre. Del mismo se puede obtener el programa fuente para modificarlo, ampliarlo, o corregir segn las propias necesidades.

    De entre los Sistemas de Gestin de Bases de Datos (SGBD) actuales, destaca por su estabilidad, posibilidades y versatilidad, contando con caractersticas que incluso algunos SGBD comerciales no incorporan en la actualidad. El haber sido desarrollado desde un inicio en un entorno acadmico (Universidad de Berkeley - 1974), hace que est concebido como una plataforma de exhibicin del estado del arte de la tecnologa en esta rama del software. En sus inicios fue una demostracin de lo que tendran que ser los SGBDs futuros (incorporando por lo tanto opciones que 'comercialmente' no eran desarrollables segn un estricto criterio de beneficios empresariales). Actualmente todava destaca para tener caractersticas muy adelantadas, que difcilmente se encuentran en otros sistemas de su categora (por ejemplo: el subsistema GisT, que facilita el almacenamiento e indexacin de polgonos tridimensionales en sistemas cartogrficos y topogrficos).

    El constante crecimiento de la popularidad del software libre (tipo GNU, GPL o similares), hace que sea imprescindible conocer en profundidad estos entornos, a efectos de poder desarrollar las aplicaciones que demanda el mercado actual. La constante aparicin de empresas que ofrecen soporte al software libre (IBM, Novell, SUN, entre otros), hace que se desvanezcan las dudas de si este tipo de software es viable en un futuro, ya que en este nuevo paradigma se trasladan las inversiones iniciales de compra, al mantenimiento y a mejores desarrollos.

    La disponibilidad del cdigo fuente de las aplicaciones con licencia BSD, hace que no se dependa del fabricante del software para la continuidad del producto. S el fabricante desapareciera, la inversin hecha en el desarrollo del software propio (sobre un SGBD concreto por ejemplo) estara asegurada, ya que este motor de base de datos seguira teniendo el mantenimiento de una comunidad de usuarios global, que estara interesada en solucionar los problemas que surgieran, e incluso de continuar su evolucin. Tambin se tiene que considerar que el desarrollo de los mdulos de idioma u otras caractersticas que podran no ser rentables a un fabricante concreto, pueden ser desarrollado por los 'terceros' que estn interesados.

    1 Existen otros BDs que se mueven en torno al software libre, pero que no lo son realmente. MySQL por ejemplo, tiene licencia dual (gratuito para uso privado y de pago en usos comerciales/empresariales).

    1

  • Master en Software Libre - Bases de Datos

    Instalacin de PostgreSQL (Linux)

    La presente gua de instalacin presupone unos conocimientos bsicos del Sistema Operativo Linux y de las herramientas GNU. A pesar de no se entre en los detalles de las opciones elegidas para la instalacin del PostgresSQL, se especifican los pasos exactos a seguir para llevar a cabo esta tarea.

    Se presupone que estn preinstaladas las herramientas bsicas para descomprimir ficheros del tipo tar, que hay un usuario creado, y que se puede utilizar el ordenador desde el shell como usuario root.

    El software a instalar se puede descargar desde el aula, o desde la web www.postgresql.org (puede ocupar unos 10 Mb).

    Consideraremos que hemos descargado o copiado el fichero postgresql-8.0.3.tar.bz2 (o ms moderno) en el directorio /home/usuOrd/Desktop/

    Para empezar la instalacin abriremos una ventana de shell con el usuario root (con el comando su), y crearemos al usuario postgres. Cuando creemos la contrasea para este usuario, la tendremos que introducir y despus confirmar.

    Una vez tenemos el usuario creado, cambiaremos al directorio de destino del postgreSQL que queremos instalar, y descomprimiremos el fichero con la instruccin tar.

    Cambiando al directorio postgresql-8.0.3.tar.bz2 y haciendo un ls, comprobaremos que los ficheros se han descomprimido correctamente.

    2

    http://www.postgresql.org/

  • Master en Software Libre - Bases de Datos

    Tal como se muestra en la imagen superior, a continuacin ejecutaremos un configure, para preparar la compilacin. Es importante poner todos los parmetros tal como muestran en el ejemplo.

    Al finalizar el proceso de configure (puede tardar algunos minutos), si todo va bien, veremos que acaba sin ningn error (imagen inferior).

    Seguidamente tendremos que ejecutar un make install (segn imagen anterior).

    ste es el proceso que puede tardar ms rato de toda la instalacin. Al finalizar nos aparecer la frase: PostgreSQL installation complete!

    Ahora tendremos que crear el directorio donde almacenaremos la base de datos (con un mkdir), dar permisos de acceso al directorio (con el chown), cambiar de usuario (con el su), y ya desde ste crear el espacio donde se almacenarn las bases de datos.

    Todo eso lo haremos segn se puede ver en la siguiente captura de pantalla:

    El proceso de inicializacin puede tardar un rato a ejecutarse.

    Al terminar, nos tendra que indicar que ya lo podemos arrancar (similar a la siguiente pantalla):

    3

  • Master en Software Libre - Bases de Datos

    Antes, sin embargo, crearemos la base de datos de trabajo con la instruccin createdb. Los parmetros a utilizar son:

    Ahora ya podemos arrancar el motor de la base de datos;

    Una vez se ha puesto en marcha correctamente el postmaster, la ventana de este shell se queda ejecutndolo (no nos devuelve el control).

    El programa que se ejecuta en esta consola, es propiamente dicho el motor de la base de datos. ste queda a la espera de que se hagan peticiones por el puerto de comunicaciones 5432, para recogerlas, procesarlas y devolver los resultados.

    Para hacer consultas u otras operaciones con la base de datos, tendremos que abrir un nuevo shell. Una vez en ste, abriremos el editor segn el ejemplo:

    Como especificamos que queremos arrancar la consola con un usuario especfico (postgres), nos pedir la contrasea en el proceso.

    En el mismo momento de poner en marcha la sesin de edicin SQL, hemos escogido la base de datos que utilizaremos (en este caso la llamada UOC).

    La consola del psql que hemos arrancado nos servir para introducir 'rudimentariamente' instrucciones SQL bsicas. En el documento de Instalacin de editor SQuirreL se especifica como utilizar un entorno a trabajo con ventanas, para introducir y editar sentencias SQL.

    (para detener los procesos que se ejecutan en las ventanas que tenemos arrancadas -postmaster y psql-, hay que pulsar la combinacin de teclar ctrl+q y ctrl+c respectivamente).

    4

  • Master en Software Libre - Bases de Datos

    Probando la instalacin de PostgreSQL

    Una vez instalado el SGBD, especificaremos los pasos para poner en marcha el motor de la base de datos, crear desde el editor (psql) una tabla, insertar unos datos y hacer la consulta de verificacin final.

    En primer lugar reiniciaremos el ordenador. Una vez cargado el Linux desde el shell cambiaremos al usuario postgres:

    su - postgres

    Tal como se nos pida la contrasea la introduciremos. Seguidamente arrancaremos el motor de la base de datos con la instruccin:

    /opt/pgsql/bin/postmaster -D /home/postgres/data/

    El shell no devolver el control, ya que queda ejecutando este programa.

    Para arrancar el editor psql, tendremos que arrancar un nuevo shell, e introducir la siguiente lnea:

    /opt/pgsql/bin/psql --username=postgres --password uoc

    Se nos pedir de nuevo la contrasea. Una vez introducida, ya podremos trabajar con la base de datos.

    En este punto tendramos que tener en la ventana del shell, una pantalla segn se muestra:

    La primera instruccin que ejecutaremos, es la de creacin de una tabla de prueba:

    create table test (nombre varchar(60));

    Nos tendra que indicar que se ha creado correctamente.

    El siguiente paso es introducir unos datos de prueba:

    insert into test values ('Registro de prueba 1');

    El SGBD nos tendra que indicar que la insercin de los datos se ha realizado correctamente.

    5

  • Master en Software Libre - Bases de Datos

    Para finalizar, realizaremos una consulta para verificar todo el proceso:

    select * from test;

    El resultado debera ser como el mostrado en la imagen superior.

    6

  • Master en Software Libre - Bases de Datos

    Resolucin de problemas y FAQ

    Esta gua de instalacin sirve para instalar PostgreSQL sobre un Linux Ubuntu, RedHat, u otros?

    - Si/No.- No tendra que haber muchas diferencias entre los diferentes sistemas, pero

    puede ser que incluso dos instalaciones de la misma distribucin de Linux (si se han escogido diferentes paquetes durante la instalacin inicial), ya tengan diferencias importantes (puede ser que incluso, en uno de ellos ya se nos hubiera instalado el PostgreSQL por defecto!)

    - La gua se tiene que tomar como modelo. Se puede seguir paso a paso si se tiene la versin del SO especfico, en caso contrario se tendra que utilizar como una gua genrica de referencia.

    Qu requerimientos de hardware tiene el PostgreSQL?

    - Tal como lo utilizamos a las asignaturas del rea de BD, se puede ejecutar con el hardware bsico recomendado por la UOC. Un ordenador con procesador x86 (tipo Pentium, Athlon o similar), capaz de ejecutar el Linux sobre el que se instala el software, con unos 100 Mb de espacio de disco libre (para la instalacin bsica, contando la reserva de espacio por la base de datos), lo podr ejecutar sin problemas.

    - Si pensis en un uso empresarial (con decenas o centenares de conexiones), ser necesario un servidor con discos duros SCSI (preferiblemente en RAID 5), con al menos 1Gb de memoria RAM, y preferentemente con un par (o ms) de CPUs (se tiene que dimensionar segn el volumen de transacciones que tenga que soportar - y eso no es sencillo!).

    PostgreSQL funciona en diversos sistemas operativos?

    - Si. Al menos funciona en una docena de sistemas operativos diferentes (podis encontrar este mismo manual de instalacin para Windows 95/98 y para Windows 2000/XP). De hecho, al tener PostbreSQL licencia de distribucin de tipo BSD, nada impide compilar las fuentes parar el sistema operativo que nos interese (aunque para eso, hay que estar bastante especializado).

    Cmo puede ser que PostgreSQL sea gratuito, si tiene caractersticas superiores al Informix, e incluso similares al Oracle?

    - La respuesta es sencilla, pero compleja de responder. Como parte del encanto que rodea al software libre es la investigacin, e incluso la superacin personal, nada mejor que entrar en ste mundo leyendo dos artculos clsicos:

    http://www.gnu.org/gnu/thegnuproject.es.html http://www.sindominio.net/biblioweb/telematica/catedral.html

    (en los dos artculos se utiliza el significado originario de la palabra hacker - que no lleve a confusin!)

    7

    http://www.translendium.net:8080/home/url.do?CREATE_GLOSSARY=0&TRANSLITERATE_UNKNOWNS=1&REQUEST_URL=http://www.translendium.net:8080/home/url.do&MARK_COMPOUNDS=0&PPM_USE=1&REMOTE_ADDR=62.87.25.53&MARK_MEMORY=0&MARK_ALTERNATIVES=1&MARK_CONSTANTS http://www.translendium.net:8080/home/url.do?CREATE_GLOSSARY=0&TRANSLITERATE_UNKNOWNS=1&REQUEST_URL=http://www.translendium.net:8080/home/url.do&MARK_COMPOUNDS=0&PPM_USE=1&REMOTE_ADDR=62.87.25.53&MARK_MEMORY=0&MARK_ALTERNATIVES=1&MARK_CONSTANTS

  • Master en Software Libre - Bases de Datos

    Introducir las sentencias SQL desde la consola del sistema no es nada cmodo, hay alternativas?

    - Si. De entre ellas destacamos la utilizacin del editor SQL SQuirreL. ste se puede utilizar con el PostgreSQL y otros SGBD (slo se tiene que configurar la cadena de conexin), es multi-plataforma (al estar hecho Java, funciona tanto en Windows, como en Macintosh, como Linux, etc), es bastante cmodo, y tambin es Software Libre!

    Puedo exportar los datos y/o el diseo de las tablas?

    - Si. Con instrucciones especificas (pg_dump) se pueden exportar los datos y las definiciones de las tablas, procedimientos y disparadores, a efectos de poder disponer de copias de seguridad, y/o de traspasar los datos a otros servidores.

    8