CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve Pruebas realizadas en la Mesa Técnica de Maracaibo: Martes 25 y Miercoles 26 Publicado para pruebas y revisión por la comunidad SUGAU 1.- Se realiza la reconfiguración en el local del servidor # dpkg-reconfigure locales Se seleccionan los locales es_ES ISO-8859-1, es_ ES.UTF-8 UTF-8 es_ES@euro ISO 8859-15 SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 1 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve 2.- Luego se selecciona por defecto es_ES@euro Nota: esta codificación es_ES@euro respectiva de postgres 8.3 se coloca por la correlación de la tabla es_ES@euro ISO 8859-15 = 16 LATIN9 ISO 8859-15 (Latin alphabet no.9) SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 2 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve N° de encoding 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Name SQL_ASCII EUC_JP EUC_CN EUC_KR JOHAB EUC_TW UNICODE MULE_INTERNAL LATIN1 LATIN2 LATIN3 LATIN4 LATIN5 LATIN6 LATIN7 LATIN8 LATIN9 LATIN10 ISO_8859_5 ISO_8859_6 ISO_8859_7 ISO_8859_8 KOI8 ALT WIN874 WIN1250 WIN WIN1256 TCVN Descripción ASCII Japanese EUC Chinese EUC Korean EUC Korean EUC (Hangle base) Taiwan EUC Unicode (UTF-8) Mule internal code ISO 8859-1/ECMA 94 (Latin alphabet no.1) ISO 8859-2/ECMA 94 (Latin alphabet no.2) ISO 8859-3/ECMA 94 (Latin alphabet no.3) ISO 8859-4/ECMA 94 (Latin alphabet no.4) ISO 8859-9/ECMA 128 (Latin alphabet no.5) ISO 8859-10/ECMA 144 (Latin alphabet no.6) ISO 8859-13 (Latin alphabet no.7) ISO 8859-14 (Latin alphabet no.8) ISO 8859-15 (Latin alphabet no.9) ISO 8859-16/ASRO SR 14111 (Latin alphabet no.10) ISO 8859-5/ECMA 113 (Latin/Cyrillic) ISO 8859-6/ECMA 114 (Latin/Arabic) ISO 8859-7/ECMA 118 (Latin/Greek) ISO 8859-8/ECMA 121 (Latin/Hebrew) KOI8-R(U) Windows CP866 Windows CP874 (Thai) Windows CP1250 Windows CP1251 Windows CP1256 (Arabic) TCVN-5712/Windows CP1258 (Vietnamese) Fuente: http://www.lscvsystems.com/blog/?p=32 SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 3 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve 3.- Despues se realiza un purge para eliminar el Postgres 8.3 de la instalación anterior # aptitude purge postgresql-8.3 NOTA: (si no esta instalado postgres 8.3 no hay ningun problema se descarta este paso) 4.- Se realizan los cambios y se reinicia el Servidor 5.- Entrar en el terminal como usuario root para modificar los repositorios de Debian Lenny Estable # nano /etc/apt/sources.list Nota: el sources.list utilizado para la prueba fue: ## Debian - stable deb http://ftp2.fr.debian.org/debian/ stable main contrib non-free deb-src http://ftp2.fr.debian.org/debian/ stable main contrib non-free ## Actualizaciones de seguridad deb http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free Fuente: http://www.esdebian.org/wiki/introduccion-repositorios-debian 6.- Actualizar el sistema y los paquetes que se necesitan; realizar un update y despues upgrade en debian lenny # aptitude update # aptitude upgrade 7.- Verificamos el locale del servidor # nano /etc/default/locale debe salir esto : LANG=es_ES@euro SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 4 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve 8.- Luego se instala nuevamente postgres 8.3 , esto hara una modificación de la instalación anterior y creara un nuevo perfil con la codificación para es_ES@euro # aptitude install postgresql-8.3 9.- Al concluir la instalación verificamos que en el archivo postgresql.conf esten las lineas “es_ES@euro” tecleando en el terminal: # nano /etc/postgresql/8.3/main/postgresql.conf Deben verificar las lineas 443 a la 445 lc_monetary = 'es_ES@euro' lc_numeric = 'es_ES@euro' lc_time = 'es_ES@euro' # locale for monetary formatting # locale for number formatting # locale for time formatting 10.- Reiniciar el servicio de postgres 8.3 # /etc/init.d/postgresql-8.3 restart 11.- Realizamos nuevamente la configuración para predeterminar las contraseñas y creacion de usuarios a).- Por razones de seguridad estableceremos la nueva contraseña al usuario del sistema creado por PostgreSQL # passwd postgres b).- Para verificar si la instalación fue satisfactoria accedemos a la shell del servidor de bases de datos: # su postgres -c "psql" d).- Si el acceso ha sido satisfactorio cambiamos la contraseña al usuario predeterminado del servidor de bases de datos: # ALTER USER postgres WITH PASSWORD 'nueva_contraseña'; SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 5 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve Ejemplo: # ALTER USER postgres WITH PASSWORD '12345'; e).- Te saldrá el siguiente mensaje confirmando la operación: # ALTER ROLE crear la base de datos # CREATE DATABASE sugau_prueba with owner = postgres encoding = 'LATIN9' connection limit= -1; # CREATE DATABASE Para ver las bases de datos existentes con su codificación debes colocal “ \l “ Ejemplo: postgres=# \l Listado de base de datos Nombre | Dueño | Codificación --------------------+----------+-------------db_sugau_2011 | postgres | LATIN9 db_sugau_iutc_2011 | postgres | LATIN9 postgres | postgres | LATIN9 sugau_prueba | postgres | LATIN9 template0 | postgres | LATIN9 template1 | postgres | LATIN9 (6 filas) postgres=# SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 6 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve f).- Para restaurar la Base de Datos original de SUGAU debes teclear en terminal El comando que vamos a utilizar (y conocer) es pg_restore. pg_restore -i -h localhost -p 5432 -U postgres -d mibase -v "/home/damian/backups/mibase.backup" Una vez que lo ejecutemos, se nos pedirá la contraseña del usuario que vamos a usar. Para conocer los parámetros que podemos pasarle al comando, nada mejor que darse una vuelta por la documentación oficial, ya que hay algún que otro detalle que estaría bueno conocer (y además, porque es buena práctica leer la documentación oficial). Sobre los parámetros del ejemplo, paso a detallarlos. -i le indica que ignore la versión (entre el comando y la base de datos). -h localhost es el host de nuestro PostgreSql. -p 5432 es la indicación del puerto donde corre el servicio. -U postgres especifica que se usará el usuario postgres para la operación. -d mibase es para que realize la restauración sobre una base de datos en particular, en este caso mibase. • -v ejecutará el comando en modo verbose (así podremos ir viendo la salida de cada paso del proceso). • /home/damian/backups/mibase.backup es el archivo que usaremos como backup y que queremos ingresar. • • • • • Fuente:http://www.damianculotta.com.ar/2008/10/14/restaurar-backups-de-postgresql/ INFORMACIÓN ADICIONAL Backup de bases de datos en PostgreSql pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f "/home/damian/backups/mibase.backup" mibase Veamos qué significan cada uno de los parametros que estamos indicando. • • • • • pg_dump es el comando en si mismo. -i le indica que ignore la versión (entre el comando y la base de datos). -h localhost especifica el host del motor de base de datos (localhost en este caso). -p 5432 es la indicación del puerto donde corre el servicio. -U postgres es para indicarle que usaremos el usuario postgres. SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 7 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve -F indica el formato de salida. c es la elección del formato (comprime en este caso). -b indica que vuelque los LO (large objects). -v verbose. -f es el archivo de salida. /home/damian/backups/mibase.backup es el nombre para el archivo de salida (con path). • mibase es el nombre de la base a backupear. • • • • • • Fuente: http://www.damianculotta.com.ar/2008/08/25/backup-de-bases-de-datos-en-postgresql/ g) Crear el usuario “clave” para el manejador de base de datos, para ello debes salir de el shell con \q postgres=# \q luego ingresar como postgres desde el terminal # su postgres y crear el usuario llamado “clave” de este modo # createuser -s -P -e clave Ingrese la contraseña para el nuevo rol: Ingrésela nuevamente: CREATE ROLE clave PASSWORD 'md5a78388da556919149c6b686d51a9e787' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN; Para volver a tu usuario normal debes colocar “exit” en el terminal # exit Ejemplo # postgres@debian:/home/moises$ exit # debian:/home/moises# Listo, ya tenemos nuestra base de datos creada... SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 8 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve Si queremos podemos trabajar con pgadmin # aptitude install pgadmin3 Vemos que toma por defecto LATIN9 al crear una base de datos SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 9 CONFIGURACIÓN DE ENCODING LATIN9 EN POSTGRES 8.3 BAJO DEBIAN LENNY 5.08 (Manual para realizar pruebas con la comunidad SUGAU) Instituto Universitario de Tecnología de Cabimas Mesa Técnica de Maracaibo SUGAU 26/01/2011 andrademh@iutcabimas.tec.ve bgutierrezh@iutcabimas.tec.ve desimir@iutcabimas.tec.ve Colocamos el nombre y listo ya tenemos nuestra base de datos de sugau en Debian Lenny 5.08 con postgres 8.3 SECCIÓN DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN (STIC) INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE CABIMAS – IUTC Página 10