I just had the same problem on Ubuntu Server 14.04.
I installed the postgis
extension from the official Ubuntu repositories using apt-get install postgis
.
Then, find /usr -name postgis.control
didn't return any results.
The reason was extension/postgis.control
wasn't installed because postgis-scripts wasn't.
$ aptitude search postgis
i libpostgis-java - Geographic objects support for PostgreSQL -- JDBC support
i postgis - Geographic objects support for PostgreSQL
p postgis:i386 - Geographic objects support for PostgreSQL
i postgis-doc - Geographic objects support for PostgreSQL -- documentation
i postgresql-9.3-postgis-2.1 - Geographic objects support for PostgreSQL 9.3
p postgresql-9.3-postgis-2.1:i386 - Geographic objects support for PostgreSQL 9.3
i postgresql-9.3-postgis-2.1-scripts - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package
i postgresql-9.3-postgis-scripts - Geographic objects support for PostgreSQL 9.3 -- scripts
The solution is to install it.
On debian-like distros:
apt-get install postgis*
The aptitude package manager will automatically determine the correct package versions to install. The postgis-doc will be installed too.
EDIT
Like some people noticed in comments, the postgis*
is not required because it installs some packages not strictly required to just get it to work.
The required packages are postgis
and postgresql-9.x-postgis-scripts
meta packages. They select the correct real version for your system.
So the commands to install the required packages are
$ sudo apt-get install postgis postgresql-9.3-postgis-scripts
for postgresql-9.3
. Ubuntu 16.04
runs postgresql-9.5
so the command becomes:
$ sudo apt-get install postgis postgresql-9.5-postgis-scripts
You can check the success of the operation by running the following command:
find /usr -name postgis.control
On my server, it now returns:
/usr/share/postgresql/9.3/extension/postgis.control
You can now enable the extension on any database on your postgres server:
- connect to your db with superuser (postgres by default)
- run
CREATE EXTENSION postgis;
Your public schema now contains all postgis objects and functions.
find /usr -name postgis.control
and it is not present. I can see some files in share/contrib; however, postgis.control is not among them... what do you suggest I do? wait for a fix, make my own, something else?postgis-2.1.so
is present in/lib
does this mean I can just make my own postgis.control file?