2011-08-09 21 views
8

Acabo de actualizar mi máquina de desarrollo a Windows 7 y, por lo tanto, estoy reinstalando PostgreSQL y PostGIS. Usé el Postgres Plus installer, como se recomienda en el sitio web de Postgres, y seguí this tutorial para la instalación. Creé una base de datos usando template_postgis y la aplicación que estoy desarrollando actualmente fue capaz de conectarse a la base de datos sin problemas.Error de PostGIS: escriba "geography" no existe

Sin embargo, mi código anterior no puede crear tablas con el PostGIS Geography como solía hacerlo. Por ejemplo, cuando trato de crear la siguiente tabla:

CREATE TABLE test_area (
    id SERIAL PRIMARY KEY, 
    name VARCHAR(1000), 
    area GEOGRAPHY(POLYGON, 4326), 
    start_time DATE, 
    end_time DATE 
) 

me sale el siguiente error:

ERROR: type "geography" does not exist 
LINE 4:   area GEOGRAPHY(POLYGON, 4326), 
        ^

Si miro debajo de la base de datos en la Brower objeto de pgAdmin III, veo un montón de Geometry funciones, por lo que la instalación parece haberse ejecutado correctamente. No estoy seguro de cuál será mi problema. ¿Es posible que el instalador instale PostGIS Geometry, pero no Geography?

Respuesta

2

obtuve mi pregunta contestada sobre el GIS site. Tenía instalado PostGIS 1.4, pero no se agregó Geography hasta PostGIS 1.5. Así que tuve que desinstalar lo que tenía y volver a instalar Postgres. Sin embargo, tuve grandes dificultades para encontrar una versión que incluyera PostGIS 1.5. Sin embargo, me aconsejaron que no usara el software patentado "Postgres Plus", ya que toma el tiempo de EnterpriseDB para portar los complementos más actualizados y demás. En cambio, me redirigieron a la descarga normal de PostgreSQL en el sitio web de EnterpriseDB, que es sorprendentemente difícil de encontrar. Here it is. La versión de 64 bits no vino con PostGIS, así que tuve que usar la versión de 32 bits, que funcionó. ¡Finalmente!

3

Quizás haya algunos problemas con el postgis, primero vea si existe el tipo "geografía". al igual que el siguiente;

db_lbs => \ dT geografía

 List of data types 
Schema | Name | Description 
--------+-----------+------------- 
lbs | geography | 
(1 row) 

Por cierto, por favor tome atención a la search_path actual;

supongo que el tipo "geografía" no es existir en su esquema, puede que existe en el esquema público, a fin de comprobar en primer lugar.

18

También he experimentado este problema anteriormente, pero lo que me ayudó no fue la respuesta en el sitio de GIS.

Tengo Postgresql instalado a través de Homebrew y también tengo instalada la aplicación Postgresql. En cuanto a PostGIS, sin embargo, lo instalé a través de Homebrew.

Cuando encontré este problema, estaba ejecutando la aplicación Postgresql en lugar de ejecutarla en Terminal, por lo que, por supuesto, obtendría este error PostGIS porque PostGIS nunca se instaló en la aplicación Postgresql. Una vez que comencé Postgresql en la Terminal, funcionó para mí.

Actualización 25/09/2014:

Es posible que usted no creó la extensión de PostGIS en su base de datos:

$ psql 

psql> \c databaseName; 

psql> CREATE EXTENSION Postgis; 
Cuestiones relacionadas