wiki:UsersWikiPostGIS21Ubuntu1304src

Version 1 (modified by mwtoews, 11 years ago) ( diff )

start draft of install instructions for postgis-2.1.0beta3

How to install PostGIS 2.1beta3 on Ubuntu 13.04 (raring)) 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 libgdal-dev libproj-dev libjson0-dev xsltproc docbook-xsl docbook-mathml

Optional package for raster support (this is required if you want to build the PostgreSQL extensions):

sudo apt-get install libgdal-dev

Build GEOS 3.4.x

PostGIS 2.1 is best used with GEOS ≥ 3.4 for several new features, however Ubuntu 13.04 only has GEOS 3.3.3 available in packages, so it needs to be built from source. If you don't need the new features, instead install the libgeos-dev package.

There are multiple ways to build GEOS, but this is the simplest. This method retrieves a development snapshot from subversion, since a beta version of GEOS 3.4.0 has not been released at the time of writing.

sudo apt-get install subversion autoconf
svn co http://svn.osgeo.org/geos/trunk@3823 geos-3.4.0dev
cd geos-3.4.0dev
./autogen.sh
./configure
make
sudo make install
cd ..

Build PostGIS

wget http://download.osgeo.org/postgis/source/postgis-2.1.0beta3.tar.gz
tar xfvz postgis-2.1.0beta3.tar.gz
cd postgis-2.1.0beta3

PostGIS 2.1 can be configured to disable topology or raster components, using the configure flags --without-raster and/or --without-topology. The default is to build both. Note that raster is required for the extension installation method for PostgreSQL.

./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

Spatially enabling a database

With PostgreSQL 9.1, there are two methods to add PostGIS functionality to a database: using extensions, or using enabler scripts.

PostGIS Extension for PostgreSQL

Spatially enabling a database using extensions is a new feature of PostgreSQL 9.1.

Connect to your database using pgAdmin or psql, and run the following commands. To add postgis with raster support:

CREATE EXTENSION postgis;

To add topology support, a second extension can be created on the database:

CREATE EXTENSION postgis_topology;

Enabler Scripts / Template

Enabler scripts can be used to either build a template, or directly spatially enable a database. This method is older than the extension method, but is required if the raster support is not built.

The following example creates 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.

PostGIS:

sudo -u postgres createdb template_postgis
sudo -u postgres psql -d template_postgis -c "UPDATE pg_database SET datistemplate=true WHERE datname='template_postgis'"
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/spatial_ref_sys.sql
sudo -u postgres psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis_comments.sql

with raster support:

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

with topology support:

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

See also

Note: See TracWiki for help on using the wiki.