wiki:UsersWikiPostGIS20Ubuntu1110src

Version 3 (modified by Mike Taves, 10 years ago) (diff)

pg_wrapper

How to install PostGIS 2.0 on Ubuntu 11.10 (oneiric) from source

Prerequisites

Several components are needed, which can either be built from source or installed from pre-built packages, as shown below.

Install prerequisite packages using:

sudo apt-get install build-essential postgresql-9.1 postgresql-server-dev-9.1 libxml2-dev proj libjson0-dev

Optional package for raster support:

sudo apt-get install libgdal-dev

Optional packages for testing PostGIS:

sudo apt-get install libcunit1-dev

Optional packages for building documentation:

sudo apt-get install xsltproc docbook-xsl docbook-mathml imagemagick

(for building PDF documentation, add dblatex, but expect a large download)

Build GEOS 3.3.x

PostGIS 2.0 requires GEOS >= 3.3.2 for topology support, however Ubuntu 11.10 only has GEOS 3.2.2 available in packages, so it needs to be built from source. If you don't need topology, you don't need to build this component, but it is highly recommended.

There are multiple ways to build GEOS, but this is the simplest:

wget http://download.osgeo.org/geos/geos-3.3.2.tar.bz2
tar xvfj geos-3.3.2.tar.bz2
cd geos-3.3.2
./configure
make
sudo make install
cd ..

Build PostGIS

wget http://postgis.refractions.net/download/postgis-2.0.0beta4.tar.gz
tar xfvz postgis-2.0.0beta4.tar.gz
cd postgis-2.0.0beta4

PostGIS 2.0 can be configured to disable topology or raster extensions, using the configure flags --without-raster and --without-topology. The default is to build both extensions:

./configure
make
sudo make install
sudo ldconfig
sudo make comments-install

Lastly, enable the command-line tools to work from your shell:

sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/shp2pgsql
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/pgsql2shp
sudo ln -sf /usr/share/postgresql-common/pg_wrapper /usr/local/bin/raster2pgsql

Template

Complete a post-install by creating a template, which can be re-used for creating multiple spatially-enabled databases. Or if you just want to make one spatially enabled database, you can modify the commands for your needs.

sudo -u postgres createdb template_postgis
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/spatial_ref_sys.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/postgis_comments.sql

Enable raster extension

Adding on to template_postgis:

sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/rtpostgis.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/raster_comments.sql

Enable topology extension

Adding on to template_postgis:

sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.0/topology_comments.sql

See also