|
PostgreSQL DATABASE DRIVERPostgreSQL database driver enables GRASS to store vector attributes in PostgreSQL server.Creating a PostgreSQL databaseA 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=mydb db.login user=myname password=secret host=myserver.osgeo.org # port=5432 db.connect -p db.tables -p Username and passwordFrom the PostgresQL manual:The file .pgpass in a user’s home directory can
contain passwords to be used if the connection requires a password (and no
password has been specified otherwise). On Microsoft Windows the file is
named %APPDATA%\postgresql\pgpass.conf (where %APPDATA% refers
to the Application Data subdirectory in the user’s profile).
Alternatively, a password file can be specified using the connection
parameter passfile or the environment variable PGPASSFILE. This file should
contain lines of the following format:
hostname:port:database:username:password Supported SQL commandsAll 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 conditionsAll SQL operators supported by PostgreSQL.Adding an unique ID columnImport 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 PostgreSQLCSV import into PostgreSQL:\h copy COPY t1 FROM ’filename’ USING DELIMITERS ’,’; Geometry import from PostgreSQL table into GRASSv.in.db creates a new vector (points) map from a database table containing coordinates. See here for examples.PostGIS: PostgreSQL with vector geometryPostGIS: adds geographic object support to PostgreSQL.Example: Import from PostGISIn 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 input="PG:host=localhost dbname=postgis user=neteler" layer=test \ output=test type=boundary,centroid v.db.select test v.info -t test Geometry Converters
SEE ALSOdb.connect, db.executeDatabase management in GRASS GIS
REFERENCES
Main index | Topics index | Keywords index | Graphical index | Full index © 2003-2021 GRASS Development Team, GRASS GIS 7.8.6 Reference Manual
Visit the GSP FreeBSD Man Page Interface. |