Acabo de tener el mismo problema en Ubuntu Server 14.04. Instalé la extensión postgis
desde los repositorios oficiales de Ubuntu usando apt-get install postgis
.
Luego, find /usr -name postgis.control
no arrojó ningún resultado.
La razón fue que extension/postgis.control
no estaba instalado porque postgis-scripts no lo estaba.
$ aptitude search postgis
i libpostgis-java - Soporte para objetos geográficos para PostgreSQL -- soporte JDBC
i postgis - Soporte para objetos geográficos para PostgreSQL
p postgis:i386 - Soporte para objetos geográficos para PostgreSQL
i postgis-doc - Soporte para objetos geográficos para PostgreSQL -- documentación
i postgresql-9.3-postgis-2.1 - Soporte para objetos geográficos para PostgreSQL 9.3
p postgresql-9.3-postgis-2.1:i386 - Soporte para objetos geográficos para PostgreSQL 9.3
i postgresql-9.3-postgis-2.1-scripts - PostGIS para PostgreSQL 9.3 -- scripts -- paquete ficticio
i postgresql-9.3-postgis-scripts - Soporte para objetos geográficos para PostgreSQL 9.3 -- scripts
La solución es instalarlo.
En distribuciones similares a debian:
apt-get install postgis*
El gestor de paquetes aptitude determinará automáticamente las versiones correctas de los paquetes a instalar. El postgis-doc también será instalado.
EDITAR
Como algunas personas notaron en los comentarios, el postgis*
no es necesario porque instala algunos paquetes que no son estrictamente necesarios para hacerlo funcionar.
Los paquetes requeridos son postgis
y postgresql-9.x-postgis-scripts
meta paquetes. Seleccionan la versión real correcta para tu sistema. Entonces los comandos para instalar los paquetes requeridos son
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
para postgresql-9.3
. Ubuntu 16.04
utiliza postgresql-9.5
así que el comando sería:
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
Puedes verificar el éxito de la operación ejecutando el siguiente comando:
find /usr -name postgis.control
En mi servidor, ahora devuelve:
/usr/share/postgresql/9.3/extension/postgis.control
Ahora puedes habilitar la extensión en cualquier base de datos de tu servidor postgres:
- conéctate a tu base de datos con un superusuario (postgres por defecto)
- ejecuta
CREATE EXTENSION postgis;
Ahora tu esquema público contiene todos los objetos y funciones de postgis.