SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un...

17
Secretaria de Estado de Telecomunicaciones y 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”

Transcript of SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un...

Page 1: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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”

Page 2: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 3: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

Í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

Page 4: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 5: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 6: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 7: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 8: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 9: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 10: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 11: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 12: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 13: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 14: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 15: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 16: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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

Page 17: SGM 2008 02 Guía instalación Postgres v01 - ua€¦ · postgresql-8.2.4.tar.gz”, que creará un subdirectorio con el código fuente del postgres, que se deberá compilar. Se configurará

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