Scroll to navigation

grass-pg(1grass) Grass User's Manual grass-pg(1grass)

NAME

grass-pg - PostgreSQL driver
PostgreSQL driver PostgreSQL DB driver in GRASS

KEYWORDS

database, attribute table, driver

DESCRIPTION

The DB (database) driver name in GRASS is pg.

Creating a PostgreSQL database

A new database is created with createdb, see the PostgreSQL manual for details.

Connecting GRASS to PostgreSQL

 
# example for connecting to a PostgreSQL server:
 
db.connect driver=pg database="host=myserver.osgeo.org,dbname=mydb"
 
# password is asked interactively if not specified:
 
db.login user=myname [pass=secret]
 
db.connect -p
 
db.tables -p
 

Supported SQL commands

All SQL commands supported by PostgreSQL. It's not possible to use C-like escapes (with backslash like \n etc) within the SQL syntax.

Operators available in conditions

All SQL operators supported by PostgreSQL.

Adding an unique ID column

Import vector module require an unique ID column which can be generated as follows in a PostgreSQL table:
 
db.execute sql="ALTER TABLE mytable ADD ID integer"
 
db.execute sql="CREATE SEQUENCE mytable_seq"
 
db.execute sql="UPDATE mytable SET ID = nextval('mytable_seq')"
 
db.execute sql="DROP SEQUENCE mytable_seq"
 

Attribute import into PostgreSQL

CSV import into PostgreSQL:
 
\h copy
 
COPY t1 FROM 'filename' USING DELIMITERS ',';
 

Geometry import from PostgreSQL table into GRASS

v.in.db creates a new vector (points) map from a database table containing coordinates. See here for examples.

PostGIS: PostgreSQL with vector geometry

PostGIS: adds geographic object support to PostgreSQL.

Example: Import from PostGIS

In an existing PostGIS database, create the following table:
 
CREATE TABLE test
 
(
 

id serial NOT NULL,
 

mytime timestamp DEFAULT now(),
 

text varchar,
 

wkb_geometry geometry,
 

CONSTRAINT test_pkey PRIMARY KEY (id)
 
) WITHOUT OIDS;
 
 
# insert value
 
INSERT INTO test (text, wkb_geometry)
 

VALUES ('Name',geometryFromText('POLYGON((600000 200000,650000
 

200000,650000 250000,600000 250000,600000 200000))',-1));
 
 
# register geometry column
 
select AddGeometryColumn ('postgis', 'test', 'geometry', -1, 'GEOMETRY', 2);
 
GRASS can import this PostGIS polygon map as follows:
 
v.in.ogr dsn="PG:host=localhost dbname=postgis user=neteler" layer=test \
 

output=test type=boundary,centroid
 
v.db.select test
 
v.info -t test
 

Geometry Converters

PostGIS with shp2pgsql:
 
shp2pgsql -D lakespy2 lakespy2 test > lakespy2.sql
e00pg: E00 to PostGIS filter, see also v.in.e00.
GDAL/OGR ogrinfo and ogr2ogr: GIS vector format converter and library, e.g. ArcInfo or SHAPE to PostGIS.
 
ogr2ogr -f "PostgreSQL" shapefile ??

SEE ALSO

db.connect, db.execute
Database management in GRASS GIS,
 
Help pages for database modules,
 
SQL support in GRASS GIS
 

REFERENCES

PostgreSQL web site
pgAdmin graphical user interface
GDAL/OGR PostgreSQL driver documentation
Last changed: $Date: 2014-02-03 17:26:56 +0100 (Mon, 03 Feb 2014) $
 
Main index - Database index - Full index
© 2003-2014 GRASS Development Team, GRASS GIS 6 Reference Manual
GRASS 6.4.4