Ads 468x60px

domingo, 24 de junio de 2012

Error en Query Builder de pgAdminIII

Cuando me disponía a realizar una consulta SQL a la base de datos, a través del editor SQL (Query Builder) de pgAdminIII, al hacer clic en el botón (ver figura), para mi sorpresa cierra el programa y me manda al escritorio de Windows.

 Vuelvo a iniciar de nuevo el programa pensando que ha sido un fallo pasajero, pero al hacer clic otra vez en el botón del editor SQL,  de nuevo la misma historia, otra vez me cierra pgAdminIII, y así cada vez que intento ejecutar el editor de consultas. Desinstalo PostgreSQL, ya que no me da la opción de desinstalar únicamente pgAdminIII, pensando que así se solucionaría el problema. Pero una vez instalado e iniciado pgAminIII, al hacer clic en el botón del editor SQl, de nuevo me vuelve a sacar del programa.
Así que buscando en San Google y después de pasarme un buen rato buscando, aquí os dejo la solución:
Pues resulta que pgAdmin utiliza un fichero llamado pgadmin_histoqueries.xml para guardar las últimas consultas realizadas y ese fichero es el causante del fallo, probablemente porque se haya corrompido. Como suele ocurrir casi siempre la solución es bien sencilla, borrar dicho fichero y ya está. El fichero en cuestión se encuentra en la ruta C:\Documents and Settings\UsuarioXXX\Datos de Programa\postgresql. Eso sí para encontrar esta ruta, primero debemos hacer visibles los ficheros y carpetas ocultos del sistema.

lunes, 11 de junio de 2012

OID (Object Identifiers) en postgreSQL

Los OIDs (Identificador de Objeto) los utiliza PostgreSQL internamente como clave primaria para varias tablas del sistema.También los podemos utilizar como identificadores únicos en nuestras tablas, aunque es una opción desaconsejable que, a partir de la versión 8.1 viene deshabilitada por defecto en PostgreSQL, por lo tanto no se agregan a las tablas creadas por el usuario, a menos que se especifique WITH OIDS cuando se crea la tabla, o la variable de configuración default_with_oids está habilitada. Esta variable la podemos modificar en el archivo de configuración postgresql.conf situado en el directorio: C:\Program Files\PostgreSQL\9.x\data.
Aunque como hemos mencionado, su uso está desaconsejado, entre otras cosas porque no se garantiza, en bases de datos muy grandes, que no haya duplicados, ya que el contador sirve para todos los objetos del sistema y por lo tanto no serian secuenciales en una tabla y es preferible campos de tipo serial o bigserial
En resumen, olvidaros de los OID y utilizar los tipos serial y bigserial.

miércoles, 6 de junio de 2012

Cambiar idioma de PgAdminIII

Cuando instalamos pgAdminIII, el idioma en el que viene por defecto es el inglés. Podemos cambiarlo de una manera muy sencilla. Lo primero que tenemos que hacer es ir a la  web del programa   y seleccionar en el menú superior la opción "Translation". Una vez dentro de la página seleccionamos la opción "Status" del menú de la izquierda, donde al pinchar, nos mostrará una página con dos tablas. En la primera tabla están los idiomas con la traducción del programa completa. Y en la segunda las traducciones que todavía están incompletas. En esta segunda tabla es donde se encuentra la traducción al español, que está al 68%. Buscamos "es_ES" en la columna "Locale" y pinchamos en la opción "MO" de la columna Download y empezará la descarga del archivo "pgadmin3.mo" (figura 1).
Figura 1.
Una vez hemos descargado el archivo nos dirigimos al directorio de instalación de pgAdminIII y entramos en el directorio "i18n" que estará en la ruta "C:\Program Files\PostgreSQL\9.1\pgAdmin III\i18n" en el que nos encontraremos con varios subdirectorios con las traducciones en otros idiomas. Elegimos cualquiera de ellos, cambiamos el nombre por "es_ES" y copiamos dentro el archivo que nos descargamos "pgadmin3.mo", nos preguntará si queremos sobreescribirlo, aceptamos y ya está (figura 2).

Figura 2.

Abrimos pgAdminIII, seleccionamos el  menú Archivo ->  Opciones y en la pestaña General, ya podemos elegir el Idioma del usuario desplegando la lista donde nos aparecerá, por fin, el idioma español (figura 3).

Figura 3.

martes, 10 de enero de 2012

Error en Consola de PostgreSQL

Cuando accedemos a la consola de PostgreSQL es posible que nos salga el siguiente error:











Esto hace que las palabras que lleven ñ o acentos no se vean correctamente, apareciendo carácteres extraños.
La forma de solucionar este error es muy sencilla. Editamos el archivo runpsql.bat que está en el directorio scripts donde tenemos instalado PostgreSQl y añadimos esta línea al principio del archivo:
cmd /c chcp 1252
También debemos cambiar el tipo de letra de la ventana de comandos de windows al tipo Lucida Console como aparece en la siguiente imágen.


Esta solución me ha funcionado en Windows Xp y Windows Vista 32 bits, pero no lo ha hecho en Windows 7 64 bits y no lo he probado en Windows 7 32 bits.

viernes, 12 de agosto de 2011

Error con Visual Studio 2010 y Crystal Report

Buscando información por la red, me topé por casualidad con esta página que quiero compartir con vosotros, en la que explica un curioso error que salta al intentar crear un informe con Crystal Report para Visual Studio 2010 y tratar crear la conexión con la base de datos. El error en concreto es:  "External component has thrown an exception". Lo curioso está en la solución: El error sólo se produce si tenemos el directorio C:\temp. Se renombra el susodicho directorio y arreglado. Increible ¿no?

domingo, 6 de marzo de 2011

No arranca el servidor de PostgreSQL

Con este artículo comienza una serie en la que iré comentando los errores que vayan surgiendo en la utilización de PostgreSQL y su solución, si es que la hubiera.

Pues el primer error que me he encontrado ha sido como bien dice el título de este artículo, que no me arrancaba el servidor de PostgreSQL, así de repente, si previo aviso. Después de darle muchas vueltas, buscando por la red y a punto de desinstalar y reinstalar PostgreSQL otra vez. Por fin encontré la solución inspeccionando el visor de sucesos de Windows me aparece el siguiente error:
"bogus data in lock file postmaster.pid"

Pues bien parece ser que el tal archivo "postmaster.pid", un simple archivo de texto, que se encuentra en la carpeta Data del directorio de instalación de PostgreSQL, se crea cuando arrancamos el servidor y se borra cuando lo detenemos y sirve principalmente para evitar que se ejecuten varias instancias del Servidor en el mismo directorio de datos. Pues parece ser que dicho archivo estaba corrupto, como consecuencia seguramente de algún reinicio anormal de Windows. La solución era bien sencilla: borrar el archivo. Una vez echo esto pude reiniciar el servidor otra vez sin ningún problema.

martes, 1 de marzo de 2011

Entendiendo PostgreSQL - ¿Que es un cluster?

Pues como dice la ayuda, un cluster es una colección de bases de datos que están administradas por una sola instancia del servidor.
Crear un clúster de base de datos consiste en crear los directorios donde se almacenarán las bases de datos, la generación de las tablas compartidas del catálogo (tablas que pertenecen al grupo en su totalidad y no a una determinada base de datos), y crear las bases de datos template1 y postgres. Cuando creemos una nueva base de datos, se copia automáticamente template1. (Por lo tanto, cualquier cosa instalada en template1 se copia automáticamente en cada base de datos creada más adelante.) La base de datos PostgreSQL es una base de datos predeterminada para ser usada por los usuarios, servicios y aplicaciones de terceros.
Para más información Initdb.