Scroll to navigation

pgsql2shp(1) PostGIS pgsql2shp(1)


pgsql2shp - postgis to shapefile dumper


pgsql2shp [options] database [schema.]table
pgsql2shp [options] database query


The pgsql2shp table dumper connects directly to the database and converts a table (possibly created by user query) into a shape file. It is compatible with all versions of PostGIS.

Version: 1.1.5 (2006/10/06)


The <database> is the name of the database to connect to.

The <table> is the (optionally schema-qualified) table to read spatial data from. Alternatively, you can specify a QUERY whose result will be written into the shapefile.


The commandline options are:

Write the output to a particular filename.
The database host to connect to.
The port to connect to on the database host.
The password to use when connecting to the database.
The username to use when connecting to the database.
In the case of tables with multiple geometry columns, the geometry column to use when writing the shape file.
Use a binary cursor. When used on pre-1.0.0 PostGIS versions this will reduce the likelihood of coordinate drift due to conversion to and from WKT format. Coordinate drifts will not occur with PostGIS 1.0.0 and newer versions. It will be slightly faster, but might fail if any NON-geometry column lacks a cast to text.
Raw mode. Do not drop the gid field, or escape column names.
For backward compatibility: write a 3-dimensional shape file when dumping from old (pre-1.0.0) postgis databases (the default is to write a 2-dimensional shape file in that case). Starting from postgis-1.0.0+, dimensions are fully encoded.
Keep identifiers case (don't uppercase field names).
Specify a file containing a set of mappings of (long) column names to 10 character DBF column names. The content of the file is one or more lines of two names separated by white space and no trailing or leading space:



Display version and usage information.


To compile the program from source, simply run "make" in the source directory. Then copy the binary in your shell search path (or wherever you like). This text is also available as a man page in the ../doc/man/ directory, ready for copying it into the manual search path on unixoid systems.


An example session using the dumper to create shape file from a database might look like this:

# pgsql2shp -f myfile -p 5555 my_db roads_table


Originally written by Jeff Lounsbury <>. Improved and maintained by Sandro Santilli <>. Includes small contributions and improvements by others.

This application uses functionality from shapelib 1.2.9 by Frank Warmerdam <> to write to ESRI Shape files.



More information is available at