Listar tablas desde SQL en Oracle, Postgresql y MySQL

Una vez conectados a la base de datos desde un cliente SQL, para listar las tablas a las que tenemos acceso en Oracle sería:

En Postgresql:

En la sentencia anterior sustituimos ‘public‘ por el nombre del esquema correspondiente si se tiene más esquemas en la base de datos.

En MySQL:

Donde nombre_base_de_datos se sustituye por el nombre de la base de datos a la que estamos conectados.

¡Saludos!

shp2pgsql: el programa no puede iniciarse porque falta libiconv~2.dll

Hola a todos.

¿Te sucede que al ejecutar la utilería de postgis shp2pgsql, en la consola ms-dos de windows, te manda el siguiente mensaje de error?

Esto sucede con algunas versiones superiores a postgresql/postgis 9.2; debido a que las librerías .dll que necesita este programita ya no están más en el directorio bin de la carpeta de instalación de postgresql.

Ahora se encuentran esos .dll dentro de directorio bin/postgisgui dentro de la misma carpeta de instalación de postgresql.

Para solucionar el error, basta con agregar a tu variable de ambiente PATH este directorio, abrir una nueva ventana de consola de ms-dos y volver a ejecutar desde ahí el comando.

¡A convertir shapefiles a postgresql/postgis!

 

psql version 8.4, server version 9.3. Some psql features might not work. CentOS 6.x

Si recibes este mensaje mientras tratas de ejecutar el programa cliente psql para conectarte a postgresql 9.3, es debido a un conflicto de versiones. CentOS 6 lleva por defecto con las utilitarias de conexión de la versión 8.4 y al instalar una versión más actual como la 9.3 puede surgir este conflicto.

Para solucionar este problema sigue los siguientes pasos (a mi me funcionó):

Listamos los paquetes que tenemos instalados de postgresql:

Como se puede observar en mi caso, tenemos paquetes de la versión antigua 8.4.x. Procedemos a desinstalar dichos paquetes (yo estoy seguro que no estoy usando la versión 8) con un usuario con derechos administrativos (yo uso el usuario root):

Una vez esto hecho, si intentamos ejecutar el  programa cliente psql no funcionará, porque el psql por defecto fue desinstalado y el sistema no lo hallará en la ruta de ejecutables:

Por lo tanto procedemos con el siguiente comando:

Una vez realizada la ejecución del comando, entramos con cualquier otro usuario y ejecutamos el programa psql para comprobar que el mensaje ha desaparecido:

¡No olvides visitar a los patrocinadores dando un clic en los anuncios! ¡Me ayudaras a conservar este sitio! ¡Gracias!

 

Instalación Postgres.app: comando psql de Postgresql, no funciona en Mac OS X.

Si después de instalar postgresql, con los paquetes de Postgres.app  en tu sistema Mac OS X , no te funciona el comando psql; es que probablemente aún no hayas agregado el directorio bin de Potgresql en tu variable de ambiente PATH.

Para resolver el problema, abre y edita el archivo .bash_profile que se encuentra en tu directorio raíz y agrega la siguiente línea al final (la ruta del directorio bin de Postgresql puede variar de acuerdo a la versión instalada; se ejemplifica la versión 9.4) y guárdalo:

Una vez terminada la edición de archivo, reinicia la máquina, abre una terminal y ya podrás usar el comando psql.

Aquí puedes encontrar la fuente original

PostgresAppIconLarge

¡Espero y les sea útil!

Tercera edición del curso en línea de PostGIS 2

Debido al gran éxito de la primera y segunda edición del curso en linea “Bases de Datos Espaciales: PostGIS 2” a partir de mayo se abre una tercera edición de dicho curso.

Los materiales al 100% han sido desarrollados por el profesor Dr. José Carlos Martínez, prof. de Universidad de la UPV que impartirá el curso, con experiencia de 15 años endocencia profesional e investigación. Autor de libro “PostGIS 2. Análisis Espacial Avanzado” y creador del proyecto JASPA (Base de datos espacial similar a PostGIS programada en Java desde cero).

Personalmente tomé dicho curso y quedé muy satisfecho, había tomado otros cursos en línea de otros temas pero éste no se los compara en calidad, el costo-beneficio es muy grande. En la segunda edición tuve el honor de ser invitado a participar como profesor de apoyo en la segunda edición de dicho curso y espero apoyar a los nuevos alumnos en esta tercera edición.

Se los recomiendo ampliamente y espero verlos ahí.

Para más información y costos, visita el sitio oficial del curso en CartoSIG

Selección_251.

¡Saludos!

PgAdmin III, pg_dump error por incompatibilidad de versiones

Bueno, puede ocurrir que cuando tenemos o tuvimos instaladas varias versiones de la base de datos PostgreSQL ya sea en windows o linux nuestro cliente pgAdmin III apunte a los binarios de las herramientas de PostgreSQL más antiguos que los que la versión de la base de datos a la que nos estamos conectando. Si intentamos hacer un backup de la información a través de nuestro pgAdmin podrá arrojarnos el siguiente mensaje o algo parecido y abortar el respaldo:

….
pg_dump: server version: 9.3.1; pg_dump version: 9.1.0
….

Esto lo que indica, como lo expresé antes, es que estamos conectándonos a una base de datos más nueva (versión 9.3.1 en el ejemplo) y los binarios en nuestro cliente pgAdmin están apuntando a los binarios más antiguos (9.1.0 en este caso). En el caso contrario, cliente apuntando a binarios más nuevos, no ocasiona ningún problema.

Para solucionar el problema lo que se tiene que hacer es cambiar la ruta de los binarios de PostgreSQL en pgAdmin de la siguiente forma:

Seleccione el menú File > Options.., lo que abrirá el diálogo de Opciones de pgAdmin. Una vez ahí seleccione Browser>Binary paths, ingrese la ruta de los binarios más actuales de PostgreSQL en la opción PG bin path ya sea escribiéndola o usando el botón Browse que se encuentra a la derecha y oprima el botón OK.

 

Options pgAdmin

Refresque el pgAdmin y el backup o respaldo ya debe funcionar sin problemas.

¡Saludos!

Video Tutorial de PostgreSQL en español

Videotutoriales.com hace dos años publicó este interesante video-tutorial de la base de datos relacional PostgreSQL, potente base de datos de código abierto que algunos la ven como opción a Oracle.

Pueden acceder al video-tutorial en el sitio de Videotutorials.com en Youtube.

¡Saludos!

Servicio de Postgresql 9.x no inicia. Error 193: 0xc1.

El servicio de postgresql 9.x no arranca en windows y envía el siguiente error:

Error 193: 0xc1.

Este problema, lo puede provocar un archivo llamado “program” en su directorio raíz. Busque si existe dicho archivo. Si es así borre el archivo pero tenga cuidado, debe ser un archivo, no una carpeta (no vaya a borrar la carpeta “Program Files”).

Una vez borrado, intente arrancar nuevamente el servicio de postgresql, éste deberá arrancar.

¡Saludos!

Nueva edición de PostGIS 2 en línea.

Para los que les interesen las bases de datos espaciales de código abierto, se abre la convocatoria para la nueva edición del curso Postgis 2 online. Excelente curso, ya lo tomé y vale mucho la pena. El pago por este curso no es un gasto, es toda una inversión, se los aseguro. No se arrepentirán.

Para mayor información visita la página del curso.

 

Selección_197

ERROR: could not access file “$libdir/postgis-2.0″: No such file or directory

Este error me lo mandó POSTGIS cuando, sin enterarme, CentOS 6 actualizó la versión de POSTGIS  de 2.0 a 2.1 que tenía instalada en mi base de datos postgres 9.2.

En mi caso, había instalado el POSTGIS como una extensión. Y según la documentación se debería actualizar con un soft-upgrade utilizando el comando ALTER EXTENSIO. Sin embargo al ejecutarla me mandaba el error antes mencionado.

La solución que me resultó fue la siguiente: hice dos soft links como se muestra enseguida (su directorio de instalación puede variar)

sudo ln -s /usr/pgsql-9.2/lib/postgis-2.1.so /usr/pgsql-9.2/lib/postgis-2.0.so

sudo ln -s /usr/pgsql-9.2/lib/rtpostgis-2.1.so /usr/pgsql-9.2/lib/rtpostgis-2.0.so

Una vez hecho esto entre a las diferentes bases de datos que tenían instalado  la extensión postgis y ejecuté el siguiente comando con el usuario administrador:

Y al parecer el problema se resolvió.

Si tengo algún problema posterior se los haré saber.

Saludos.