2010/07/29

Usar editor externo en postgresql

Aunque pgAdmin es un programa bastante cómodo e intuitivo para administrar bases de datos postgres, el cliente en línea de comandos es realmente potente y ágil.

En algunas ocasiones es verdad que para programar sobre la base de datos, hacer consultas muy complejas o realizar otras operaciones trabajar en el terminal es algo engorroso. En el terminal no es tan sencillo editar y no tienen tantas ayudas como en un programa de edición de textos o un IDE.

Existe la posibilidad de usar un editor externo para editar una consulta concreta.

El comando
 \e 

permite abrir un editor con el "Query Buffer" actual. La primera vez que se ejecuta este comando '\e' te pregunta qué programa externo usar; emacs con su sql-mode puede que sea el mejor ;). Admite como parámetro un fichero también.
 \e [FILE]


Si quieres editar una función concreta, puedes utilizar:
 \ef [FUNCTION_NAME] 

que si ejecutas sin parámetros te genera una plantilla básica para empezar a programar.

En ocasiones puede pasar lo siguiente si queremos editar/ver una función:


#\ef dropgeometrycolumn
ERROR: more than one function named "dropgeometrycolumn"


Esta función es de PostGIS y existe un conflicto de nombres debido a que es posible aplicar "polimorfismo". Si miramos la firma de las funciones:


# \df dropgeometrycolumn

Schema | Name | Result data type | Argument data types | Type
--------+--------------------+------------------+---------------------+--------------
public | dropgeometrycolumn | text | character varying, character varying | normal
public | dropgeometrycolumn | text | character varying, character varying, character varying| normal
public | dropgeometrycolumn | text | character varying, character varying, character varying, character varying | normal
(3 rows)


Para poder editar una de esas funciones concretas habría que espedificar los argumentos:


# \ef addgeometrycolumn(character varying, character varying, integer, character varying, integer)
       
   

2010/07/06

Error con DBF en OpenOffice 3.2

Con Ubuntu 10.4 cuando intentaba abrir o guardar un fichero DBF en OpenOffice Calc me daba el siguiente mensaje de error:

General Error.
General Input/Output Error.

Pensé que podía ser, que como pasa en las nuevas versiones de Office de Microsoft, que han dejado de dar soporte a este formato "clásico". Pero no, buscando un poco encontré la solución que parece que dio la lata a más de uno.

Hay que instalar openoffice.org-base y todo arreglado.