Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

databaseintro(1grass) [debian man page]

databaseintro(1grass)						Grass User's Manual					     databaseintro(1grass)

Database management in GRASS GIS
   Attribute management in general
       GRASS  can  be linked to one or many database management systems (DBMS).  The db.* set of commands provides basic SQL support for attribute
       management, while the v.db.* set of commands operates on the vector map (see Vector introduction).

   Available drivers
       Available drivers are listed in SQL support in GRASS GIS.

       Notes:
       The default DBF driver provides only very limited SQL support (as DBF is not an SQL DB) while the other DBMS backends (such as  PostgreSQL,
       MySQL etc) provide full SQL support since the SQL commands are sent directly to the DBMS.

   DB connection management
       The  current  database management settings are shown or modified with db.connect for current mapset. Available DBMI drivers are listed with
       db.drivers. Some DBMI backends require a user/password for driver/database to be set with  db.login.   In  order  to  test  a  driver,  run
       db.test.

   Attribute data import and export
       Attribute  data	can  be  imported  with  db.in.ogr from various formats and exported with db.out.ogr. To internally copy a a full table or
       selectively parts of it, use db.copy.

       Further conversion tools:

		     MDB Tools: Convert MS-Access data to SQL, DBF, etc.

		     Openoffice.org with SQL Databases

   SQL commands
       GRASS supports to main SQL operations, execution of an SQL statement (db.execute) and selection of data from a table (db.select).  See  the
       SQL help page for examples.

   Managing the default DBMI settings
       Per  default  vector  map attributes are stored in DBF table files. This default definition can be modified with db.connect. If an external
       DBMS is used, db.login may be required.

   Creating a database
       Specific commands are explained on the individual driver pages (these pages are only available if driver was  compiled  in  this  installa-
       tion):

		     DBF: see DBF page

		     SQLite: SQLite page

		     mySQL: meSQL pages

		     ODBC: ODBC page  (connect to Oracle, etc.)

		     PostgreSQL: PostgreSQL and PostGIS page

   Metadata
       All  columns  for  a  given  table  are listed with db.columns.	The command db.describe describes a table in detail. To list all available
       tables for a given database, run db.tables.

   Table maintenance
       To drop a column from a selected attribute table, use db.dropcol.  With db.droptable an attribute table can be deleted.

   Database Schema
       Currently schema support only works for PostgreSQL connections. Default schema can be set with db.connect. Note	that  the  default  schema
       will be used by all db.* modules.

       db.tables returns 'schema.table' if schemas are available in the database.

   Migrating to a different database engine
       To  migrate  a GRASS database table (or a GRASS vector map) to a different DBMI engine, the best solution is to create a new MAPSET, define
       the DBMI settings accordingly with db.login.  Then the table of interest can be copied over with db.copy from the  original  MAPSET.  Like-
       wise, a vector map including its table(s) are copied from the original MAPSET to the current MAPSET with g.copy.

   See also
		     Introduction to GRASS vector map processing

		     Introduction to GRASS raster map processing
       Main index - database index - full index

       (C) 2008-2011 GRASS Development Team

GRASS 6.4.2														     databaseintro(1grass)

Check Out this Related Man Page

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

NAME
grass-mysql - MySQL driver MySQL driver MySQL driver in GRASS MySQL database driver in GRASS enables GRASS to store vector attributes in MySQL server. Because vector attribute tables are created automaticaly when a new vector is written and the name of the table is the same as the name of the vector it is good practice to create a new database for each GRASS mapset. Creating a MySQL database A new database is created within MySQL: mysql> CREATE DATABASE mydb; See the MySQL manual for details. Driver and database name GRASS modules require 2 parameters to connect to a database. Those parameters are 'driver' and 'database'. For MySQL driver the parameter 'driver' should be set to value 'mysql'. The parameter 'database' can be given in two formats: Database name - in case of connection from localhost String of comma separated list of kye=value options. Supported options are: dbname - database name host - host name or IP address port - server port number Examples of connection parameters: db.connect driver=mysql database=mytest db.connect driver=mysql database='dbname=mytest,host=test.grass.org' Data types GRASS supports almost all MySQL data types with following limitations: Binary columns (BINARY, VARBINARY, TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB) are not not supported. If a table with binary col- umn(s) is used in GRASS a warning is printed and only the supported columns are returned in query results. Columns of type SET and ENUM are represented as string (VARCHAR). Very large integers in columns of type BIGINT can be lost or corrupted because GRASS does not support 64 bin integeres on most platforms. GRASS does not currently distinguish types TIMESTAMP and DATETIME. Both types are in GRASS interpreted as TIMESTAMP. Indexes GRASS modules automaticaly create index on key column of vector attributes table. The index on key column is important for performance of modules which update the attribute table, for example v.to.db, v.distance and v.what.rast. Privileges Because MySQL does not support groups of users and because only MySQL 'root' can grant privileges to other users GRASS cannot automaticaly grant select privileges on created tables to group of users. If you want to give privilege to read data from your mapset to other users you have to ask your MySQL server administrator to grant select privilege to them on the MySQL database used for that mapset. For example, to allow everybody to read data in from your database 'mydb': shell> mysql --user=root mysql mysql> GRANT SELECT ON mydb.* TO ''@'%'; Schemas Because MySQL does not support database schemas the parameter 'schema' of module db.connect should never be set to any value. If you set that parameter for MySQL driver GRASS will try to write tables to the specified schema which will result in errors. Groups MySQL does not support user groups. Any settings specified by 'group' parameter of module db.connect are ignored by GRASS for MySQL driver. SEE ALSO
db.connect, SQL support in GRASS GIS Credits Development of the driver was sponsored by Faunalia (Italy) as part of a project for ATAC. AUTHOR
Radim Blazek Last changed: $Date: 2011-02-07 18:59:50 +0100 (Mon, 07 Feb 2011) $ Help Index GRASS 6.4.2 grass-mysql(1grass)
Man Page