[Gvsig_usuarios] No se puede escribir

Jorge Piera Llodrá jpiera en gvsig.com
Vie Ene 27 14:13:04 CET 2012


Sí, Postgis al final de la jugada no son más que unos cuantos 
procedimientos almacenados (y un par de tablas) que se instalan en una 
base de datos. Pero las aplicaciones se conectan a Postgres, por lo que 
no tienes que tener ningún servicio "extra" corriendo.

En el log veo cosas como "ERROR: no existe la función addgeometrycolumn" 
por lo que sospecho que no has instalado Postgis en tu base de datos. 
Vamos, que has creado una base de datos Postgres a la que no le has 
instalado Postgis. Lo normal es que crees una plantilla en tu base de 
datos con Postgis instalado y que la uses para crear cualquier base de 
datos con soporte espacial.

Cuando hayas instalado postgis en una base de datos comprueba que tienes 
un montón de funciones y que tienes al menos dos tablas: 
public.geometry_columns y public.spatial_ref_sys.

Hay muchos tutoriales en Internet que indican cómo hacerlo.

Un saludo,
Jorge

On 01/27/2012 02:03 PM, Néstor Ramires wrote:
> No use pgAdmin, cambie a mano esos parametros y en
> ver/gestor de conecciones a DB espaciales, me muestra la coneccion en amarillo, y no en gris, por lo que entiendo que si se conecta. A demas de no tirarme el error de coneccion que me tiraba antes. Asi que en cuanto a eso hemos avanzado
>
>
> esto es lo que tira en la consola.
>
> Can´t initialize writer: PostGIS Writer  com.hardcode.gdbms.driver.exceptions.InitializeWriterException: Can´t initialize writer: PostGIS Writer      com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGISWriter.initialize(PostGISWriter.java:111)     com.iver.cit.gvsig.ExportTo.saveToPostGIS(ExportTo.java:475)     com.iver.cit.gvsig.ExportTo.execute(ExportTo.java:340)     com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)     com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)     javax.swing.AbstractButton.fireActionPerformed(Unknown Source)     javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)     javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)     javax.swing.DefaultButtonModel.setPressed(Unknown Source)     javax.swing.AbstractButton.doClick(Unknown Source)     javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)     javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unk
>   nown
> Source)     java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)     java.awt.Component.processMouseEvent(Unknown Source)     javax.swing.JComponent.processMouseEvent(Unknown Source)     java.awt.Component.processEvent(Unknown Source)     java.awt.Container.processEvent(Unknown Source)     java.awt.Component.dispatchEventImpl(Unknown Source)     java.awt.Container.dispatchEventImpl(Unknown Source)     java.awt.Component.dispatchEvent(Unknown Source)     java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)     java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)     java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)     java.awt.Container.dispatchEventImpl(Unknown Source)     java.awt.Component.dispatchEvent(Unknown Source)     java.awt.EventQueue.dispatchEventImpl(Unknown Source)     java.awt.EventQueue.access$000(Unknown Source)     java.awt.EventQueue$1.run(Unknown Source)     java.awt.EventQueue$1.run(Unknown Source)
> java.security.AccessController.doPrivileged(Native Method)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.awt.EventQueue$2.run(Unknown Source)     java.awt.EventQueue$2.run(Unknown Source)     java.security.AccessController.doPrivileged(Native Method)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.awt.EventQueue.dispatchEvent(Unknown Source)     com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)     java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)     java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)     java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)     java.awt.EventDispatchThread.pumpEvents(Unknown Source)     java.awt.EventDispatchThread.pumpEvents(Unknown Source)     java.awt.EventDispatchThread.run(Unknown Source)
> org.postgresql.util.PSQLException: ERROR: no existe la función addgeometrycolumn(character varying, unknown, unknown, integer, unknown, integer)      org.postgresql.util.PSQLException.parseServerError(PSQLException.java:139)     org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:152)     org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:100)     org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43)     org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:517)     org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:50)     org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:298)     com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGISWriter.initialize(PostGISWriter.java:87)     com.iver.cit.gvsig.ExportTo.saveToPostGIS(ExportTo.java:475)     com.iver.cit.gvsig.ExportTo.execute(ExportTo.java:340)
> com.iver.andami.plugins.ExtensionDecorator.execute(ExtensionDecorator.java:89)     com.iver.andami.ui.mdiFrame.MDIFrame.actionPerformed(MDIFrame.java:674)     javax.swing.AbstractButton.fireActionPerformed(Unknown Source)     javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)     javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)     javax.swing.DefaultButtonModel.setPressed(Unknown Source)     javax.swing.AbstractButton.doClick(Unknown Source)     javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)     javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)     java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)     java.awt.Component.processMouseEvent(Unknown Source)     javax.swing.JComponent.processMouseEvent(Unknown Source)     java.awt.Component.processEvent(Unknown Source)     java.awt.Container.processEvent(Unknown Source)     java.awt.Component.dispatchEventImpl(Unknown Source)
> java.awt.Container.dispatchEventImpl(Unknown Source)     java.awt.Component.dispatchEvent(Unknown Source)     java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)     java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)     java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)     java.awt.Container.dispatchEventImpl(Unknown Source)     java.awt.Component.dispatchEvent(Unknown Source)     java.awt.EventQueue.dispatchEventImpl(Unknown Source)     java.awt.EventQueue.access$000(Unknown Source)     java.awt.EventQueue$1.run(Unknown Source)     java.awt.EventQueue$1.run(Unknown Source)     java.security.AccessController.doPrivileged(Native Method)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.awt.EventQueue$2.run(Unknown Source)     java.awt.EventQueue$2.run(Unknown Source)     java.security.AccessController.doPrivileged(Nati
>   ve
> Method)     java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)     java.awt.EventQueue.dispatchEvent(Unknown Source)     com.iver.andami.ui.AndamiEventQueue.dispatchEvent(AndamiEventQueue.java:58)     java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)     java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)     java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)     java.awt.EventDispatchThread.pumpEvents(Unknown Source)     java.awt.EventDispatchThread.pumpEvents(Unknown Source)     java.awt.EventDispatchThread.run(Unknown Source)
>
>
> Ahora ejecute estos comandos en debian:
>
> root en cat:/home/general# aptitude search postgis
> p   libpostgis-java                 - geographic objects support for PostgreSQL
> i   postgis                         - geographic objects support for PostgreSQL
> p   postgresql-8.4-postgis          - geographic objects support for PostgreSQL
> root en cat:/home/general# netstat -plnt | sort
> Active Internet connections (only servers)
> Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
> tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      694/portmap
> tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1237/sshd
> tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      15125/postgres
> tcp        0      0 0.0.0.0:57981           0.0.0.0:*               LISTEN      730/rpc.statd
> tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1556/exim4
> tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1066/cupsd
> tcp6       0      0 ::1:25                  :::*                    LISTEN      1556/exim4
> tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      915/java
> tcp6       0      0 ::1:631                 :::*                    LISTEN      1066/cupsd
> tcp6       0      0 :::22                   :::*                    LISTEN      1237/sshd
> tcp6       0      0 :::34645                :::*                    LISTEN      915/java
> tcp6       0      0 :::5432                 :::*                    LISTEN      15125/postgres
> tcp6       0      0 :::8080                 :::*                    LISTEN      915/java
> tcp6       0      0 :::80                   :::*                    LISTEN      6745/apache2
>
> veo postgres corriendo, pero no veo a postgis como servicio. ¿Es correcto que se muestre asi?
>
>
>
> En Fri, 27 Jan 2012 09:42:49 -0300, Jorge Piera Llodrá<jpiera en gvsig.com>  escribió:
>
>    
>> Cuando dices que "se conecta aparentemente" entiendo que es porque con
>> el pgAdmin te has podido conectar sin problemas y ves las tablas de la
>> base de datos. Hemos avanzado algo....
>>
>> ¿Puedes enviarnos el log de la aplicación?
>>
>> Un saludo,
>> Jorge
>>
>> On 01/27/2012 01:35 PM, Néstor Ramires wrote:
>>      
>>> Lo solucione con esto:
>>>
>>> Tengo el /etc/postgresql/8.4/main/postgresql.conf con la linea:
>>> listen_address = '*'
>>>
>>> Y he editado el /etc/postgresql/8.4/main/pg_hba.conf con la línea:
>>> host         all         all     192.168.97.0  255.255.255.0     md5
>>>
>>> Ahora, aparentemente, se conecta.
>>> Abro un archivo shp voy a capa/exportar a/postgis y me tira el siguiente error
>>>
>>> Can't initialize writer: PostGIS Writer
>>>
>>>
>>>
>>> Este es el contenido de mi /etc/postgresql/8.4/main/pg_hba.conf
>>>
>>> # "local" is for Unix domain socket connections only
>>> local   all         all                               ident
>>> # IPv4 local connections:
>>> #host    all         all         127.0.0.1/32          md5
>>> host    all         all         192.168.97.149    255.255.255.0    trust
>>> # IPv6 local connections:
>>> host    all         all         ::1/128               md5
>>>
>>> La LAN tiene ip 192.168.97.*
>>> 192.168.97.149 es la pc en la que esta instalado postgres
>>>
>>> y me sigue tirando el mismo error
>>>
>>> En Thu, 26 Jan 2012 14:17:10 -0300, Jorge Piera Llodrá<jpiera en gvsig.com>   escribió:
>>>
>>>
>>>        
>>>> Hola.
>>>>
>>>> Creo que lo que buscas es [1].
>>>>
>>>> Te recomiendo que intentes conectar primero a tu base de datos postgres
>>>> con el pgAdmin [2] (o equivalente) y una vez que ya tengas claro los
>>>> parámetros de conexión utilices gvSIG.
>>>>
>>>> [1] http://www.postgresql.org/docs/8.4/interactive/auth-pg-hba-conf.html
>>>> [2] http://www.pgadmin.org/
>>>>
>>>> On 01/26/2012 05:10 PM, Néstor Ramires wrote:
>>>>
>>>>          
>>>>> Tengo instalado en un debian
>>>>> postgres 8-4
>>>>> postgis 1.5
>>>>> nuevito solo he creado un unsuario postgres y una base.
>>>>>
>>>>> intento conectar gvsig con postgres pero al ir a
>>>>> ver/gestor de conecciones
>>>>> añadir
>>>>>
>>>>> nombre: base prueba
>>>>> postgis
>>>>> port: por defecto
>>>>> ip de la pc: ***.***.***.***
>>>>> nombre de la db: prueba
>>>>>
>>>>> le doy a conectar y me aparece el siguiente error
>>>>>
>>>>> error de conexion: connection refused check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections
>>>>> ¿Que tengo que habilitar para que esto funciones?
>>>>>
>>>>>
>>>>>
>>>>>            
>>>>
>>>>          
>>>
>>>        
>>
>>      
>
>    


-- 
Jorge Piera Llodrá
gvSIG software architect
PRODEVELOP
e-mail: jpiera en gvsig.com
http://www.prodevelop.es
http://www.gvsig.org




Más información sobre la lista de distribución gvSIG_usuarios