sgm 2008 02 guía instalación postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un...
TRANSCRIPT
Secretaria de Estado de Telecomunicacionesy para la Sociedad de la Información
Secretaría de Estado de Telecomunicaciones y para la Sociedad de la Información
(S.E.T.S.I.)
SIGEM
Guía instalación Postgres
Descripción del documento: Guía para la instalación de la base de datos Postgres en SIGEM
Ref. Documento: SGM_2008_02_Guía instalación Postgres
Revisión: 01
Fecha: 29-02-2008
SGM_2008_02_Guía instalación Postgres v01 Pg.: 1 de 17
“SISTEMA INTEGRADO DE GESTIÓN MUNICIPAL”
Control del documento
Participantes del Grupo de Trabajo que coordina el documento
Entidad Nombre / función
MITyC Ministerio de Industria Turismo y Comercio / Organismo promotor SIGEM
FEMP Federación Española de Municipios y Provincias/ Organismo promotor SIGEM
MAP Ministerio para las Administraciones Públicas/ Organismo promotor SIGEM
Iecisa Empresa colaboradora del proyecto SIGEM
Reuniones del Grupo de Trabajo que coordina el documento
Fecha Documento / Acta de la reunión
Elaboración
Responsabilidad Nombre / función
Desarrollado por: Iecisa
Revisado por:
Aprobado por:
Control de versiones
Versión Fecha edición Cambio producido
01 29-02-2008 Versión inicial
SGM_2008_02_Guía instalación Postgres v01 Pg.: 2 de 17
ÍNDICE1 OBJETO ......................................................................................................... 4
1.1 DOCUMENTOS RELACIONADOS ................................................................................. 4
2 INSTALACIÓN BASE DE DATOS POSTGRES SOBRE LINUX ............................. 4
2.1 PASO PREVIO ................................................................................................. 4 2.1.1 Configuración del sistema para no usar UTF-8 .......................................... 4
2.2 INSTALACIÓN DE POSTGRES .................................................................................. 6 2.3 CREACIÓN DE BASES DE DATOS ............................................................................... 8
3 INSTALACIÓN BASE DE DATOS POSTGRES SOBRE WINDOWS ..................... 11
SGM_2008_02_Guía instalación Postgres v01 Pg.: 3 de 17
Avanza LOCAL SIGEM
1 Objeto
En este documento se describe el proceso de la instalación de la base de datos Postgres, utilizada en el “SISTEMA INTEGRADO DE GESTIÓN MUNICIPAL”, SIGEM.
Se detalla su instalación sobre LINUX y sobre Windows.
1.1Documentos relacionados
• SGM_2007_10_Manual de Implantación y Configuración• SGM_2007_10_Manual de Administración y Configuración de Servicios
2 Instalación base de datos Postgres sobre LINUX
Se parte de una serie de requisitos que debe cumplir el entorno:
Entorno ProductoJava JDK 1.4.2_14Sistema OpenSuse 10.2 (podría ser cualquier
otro Linux)
2.1Paso previo
2.1.1 Configuración del sistema para no usar UTF-8
Si se ha definido en el sistema una codificación UTF-8, el programa de creación de bases de datos de Postgres (initdb) falla a la hora de crear nuevas bases de datos en codificación no UTF-8. Es necesario definir la codificación del sistema de modo que no se use codificación UTF-8. Para ello se ejecutará la herramienta de configuración de OpenSUSE Yast y en Sistema Idioma se cambiarán los detalles para el idioma español quitando el check “Use UTF-8 Encoding”:
SGM_2008_02_Guía instalación Postgres v01 Pg.: 4 de 17
Avanza LOCAL SIGEM
Una vez quitado el check, se salvan los cambios y se reinicia la máquina para que establezca la nueva configuración. Una vez arrancado el sistema se inicia una consola del sistema y el resultado de la ejecución del comando “locale” debería ser algo parecido a lo siguiente:
LANG=es_ES@euroLC_CTYPE="es_ES@euro"LC_NUMERIC="es_ES@euro"LC_TIME="es_ES@euro"LC_COLLATE="es_ES@euro"LC_MONETARY="es_ES@euro"LC_MESSAGES="es_ES@euro"LC_PAPER="es_ES@euro"LC_NAME="es_ES@euro"LC_ADDRESS="es_ES@euro"LC_TELEPHONE="es_ES@euro"LC_MEASUREMENT="es_ES@euro"LC_IDENTIFICATION="es_ES@euro"LC_ALL=
SGM_2008_02_Guía instalación Postgres v01 Pg.: 5 de 17
Avanza LOCAL SIGEM
2.2 Instalación de Postgres
Se abrirá una consola de root desde donde poder lanzar comandos del sistema. Se creará un directorio temporal mediante el comando mkdir, por ejemplo
“mkdir /tmp/postgres”, donde se copiará el fichero postgresql-8.2.4.tar.gz. Se descomprimirá dicho fichero mediante el comando “tar zxvf
postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar.
Se configurará la instalación de Postgres mediante el comando “./configure --without-readline” dentro del directorio de fuentes de Postgres.
Se ejecutará el comando “gmake” para compilar los fuentes. Se ejecutará el comando “gmake install” que instalará el postgres por defecto
en el directorio “/usr/local/pgsql”. Se compilará e instalarán los complementos necesarios para la base de datos
postgres:
o Complemento adminpack, que incluye funciones de utilidad usadas por la aplicación pgadmin3, para compilarlo se irá al subdirectorio contrib/adminpack y se ejecutarán los comandos “make” y “make install”, por ese orden.
o Complemento tablefunc, que incluye funciones de utilidad necesarias para la aplicación, para compilarlo se irá al subdirectorio contrib/tablefunc y se ejecutarán los comandos “make” y “make install”, por ese orden.
o Complemento tsearch2, que incluye funciones usadas en búsqueda documental, para compilarlo se irá al subdirectorio contrib/tsearch2 y se ejecutarán los comandos “make” y “make install”, por ese orden.
Se editará el fichero /etc/profile y se añadirán las líneas necesarias para que el directorio de binarios de postgres sea incluido en la ruta de búsqueda de binarios:
JAVA_HOME=/usr/local/j2sdk1.4.2_15 (o donde lo tengamos instalado)PATH=$PATH:$JAVA_HOME/bin:/usr/local/pgsql/binexport PATH JAVA_HOME
LD_LIBRARY_PATH=/usr/local/pgsql/libexport LD_LIBRARY_PATH
Se creará un nuevo usuario mediante Yast, para ello, desde Seguridad y usuarios Gestionar usuarios, se creará un nuevo usuario postgres.
Se creará una nueva carpeta en la que guardar el cluster de bases de datos postgres, mediante el comando “mkdir /usr/local/pgsql/prueba”.
Se otorgarán permisos al usuario sobre esa carpeta mediante los comandos “chown postgres /usr/local/pgsql/prueba” y “chgrp users /usr/local/pgsql/prueba”.
Se creará una nueva carpeta en la que guardar los tablespaces de las bases de datos postgres, mediante el comando “mkdir /usr/local/pgsql/pruebatablespaces”.
SGM_2008_02_Guía instalación Postgres v01 Pg.: 6 de 17
Avanza LOCAL SIGEM
Se darán permisos al usuario sobre esa carpeta mediante los comandos “chown postgres /usr/local/pgsql/pruebatablespaces” y “chgrp users /usr/local/pgsql/tablespaces”.
Se creará una nuevo cluster de bases de datos postgres mediante el comando “initdb -D /usr/local/pgsql/prueba -E LATIN9”
Se editará el fichero /usr/local/pgsql/prueba/pg_hba.conf para permitir el acceso de otros host al cluster:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections onlylocal all all trust# IPv4 local connections:host all all 127.0.0.1/32 trust# IPv6 local connections:host all all 10.228.23.149/32 trusthost all all 10.228.23.150/32 trusthost all all 10.228.23.109/32 trusthost all all 10.228.23.105/32 trusthost all all 10.228.23.160/32 trusthost all all 10.228.23.169/32 trust
Se editará el fichero /usr/local/pgsql/prueba/postgresql.conf para permitir el acceso a otros host, para ello, se descomentará la línea listen_addresses:
#---------------------------------------------------------------------------# CONNECTIONS AND AUTHENTICATION#---------------------------------------------------------------------------
# - Connection Settings -
#listen_addresses = 'localhost' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost', '*' = all # (change requires restart)
Así deberá quedar finalmente:
#---------------------------------------------------------------------------# CONNECTIONS AND AUTHENTICATION#---------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost', '*' = all # (change requires restart)
SGM_2008_02_Guía instalación Postgres v01 Pg.: 7 de 17
Avanza LOCAL SIGEM
Por último se arrancará el cluster mediante el comando “pg_ctl start -D /usr/local/pgsql/prueba”
2.3Creación de bases de datos
Para crear una base de datos, se utilizará el programa pgadmin3 que se puede instalar mediante Yast. Como ejemplo de incorporación de búsqueda documental, se utilizarán las tablas de Archivo, que incluyen búsqueda documental.
Se añadirá un nuevo servidor mediante archivo Añadir servidor:
Se creará un nuevo tablespace para la base de datos de prueba. Como primer paso, se creará un subdirectorio en el directorio de tablespaces creado anteriormente mediante el comando de sistema (en el ejemplo de este documento se supone que la base de datos se llamará: archivo):
“mkdir /usr/local/pgsql/pruebatablespaces/archivo” y se añadirá el tablespace en el pgadmin3:
SGM_2008_02_Guía instalación Postgres v01 Pg.: 8 de 17
Avanza LOCAL SIGEM
Se creará la nueva base de datos:
Se añadirán a la base de datos recién creada, los complementos compilados anteriormente y necesarios para el correcto funcionamiento de la aplicación:
psql -U postgres -h localhost -d archivo < /usr/local/pgsql/share/contrib/adminpack.sql
SGM_2008_02_Guía instalación Postgres v01 Pg.: 9 de 17
Avanza LOCAL SIGEM
psql -U postgres -h localhost -d archivo < /usr/local/pgsql/share/contrib/tablefunc.sqlpsql -U postgres -h localhost -d archivo < /usr/local/pgsql/share/contrib/tsearch2.sql
Se creará un nuevo lenguaje para poder importar las funciones que necesita la aplicación de archivo:
En este punto ya se pueden crear e importar los datos de todas las tablas de archivo:
psql -U postgres -h localhost -d archivo < /tmp/limpia/create_tables.sqlpsql -U postgres -h localhost -d archivo < /tmp/limpia/insert_data.sqlpsql -U postgres -h localhost -d archivo < /tmp/limpia/insert_clob.sqlpsql -U postgres -h localhost -d archivo < /tmp/limpia/create_functions.sql
Se copiarán los ficheros necesarios para búsqueda documental (spanish.aff, spanish.med, spanish.stop) en /usr/local/pgsql/share/contrib/
Se ejecutará el script para incorporar búsqueda documental1:
psql -U postgres -h localhost -d archivo < /tmp/limpia/create_documentary_search.linux.sql
1 En caso de que la cadena de encoding devuelta por el comando locale no sea es_ES@euro se debe actualizar el script create_documentary_search.linux.sql y cambiar el insert en pg_ts_cfg con el valor que devuelve el comando locale
SGM_2008_02_Guía instalación Postgres v01 Pg.: 10 de 17
createlang plpgsql archivo
Avanza LOCAL S IGEM
3 Instalación base de datos Postgres sobre Windows
En primer lugar, se lanzará el programa de instalación postgresql-8.2.msi. A continuación, se seguirá paso a paso la instalación, se seleccionará Next sobre los formularios rellenos como se muestra en pantalla.
Primero preguntará el idioma, en la versión 8.2 no hay español (imagen inferior).
También se indica si se quiere guardar un log de instalación.
A continuación se mostrarán las notas sobre la instalación.
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 11 de 17
Avanza LOCAL S IGEM
En Installation options se deben activar: • National Language Support y • PL/Java,
Sii no vinieran por defecto.
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 12 de 17
Avanza LOCAL S IGEM
En el siguiente paso, se debe definir el usuario y password que lanza el servicio postgres de Windows.
A continuación, se activará: Accept connections on all addreses, not just localhost, en el Locale, se dejará: C, y se seleccionará la codificación Encoding: que se necesite: latin9. También se introducirá la contraseña del administrador de la base de datos postgres:
.
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 13 de 17
Avanza LOCAL S IGEM
En la pantalla siguiente pantalla, llamada Enable procedural languages, dejar activados: PL/pgsql
En Enable contrib modules, activar:
• Adminpack. • TSearch2
En esta pantalla, pulsar Next:
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 14 de 17
Avanza LOCAL S IGEM
Continuar, hasta el final con la instalación
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 15 de 17
Avanza LOCAL S IGEM
Al final de la instalación, el servicio ya debería de estar funcionando. Para asegurarse, se puede ir al Administrador de servicios y comprobarlo.
Por último, se revisarán los ficheros de configuración que se pueden ver en el menú:
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 16 de 17
Avanza LOCAL S IGEM
Directorio de instalación Postgres.>\PostgreSQL\8.2\data
Los ficheros de configuración que se revisarán son:pg_hba.confpostgresql.conf
Muy importante: se debe comprobar, que en el fichero: pg_hba.conf se permite el acceso a las máquinas de la red, que vayan a trabajar como clientes de PostgreSQL.
Es importante también, el comprobar que en en el fichero: postgresql.conf se permite recibir conexiones desde las direcciones que interesan, con la opción listen_addresses. Una vez modificados estos ficheros de configuración, parar y arrancar el servicio.
SGM_2008_02_Guía rápida instalación SIGEM v01 Pg.: 17 de 17