Skip to content

db.connect

Prints/sets general DB connection for current mapset.

db.connect [-pgcd] [driver=name] [database=name] [schema=name] [group=string] [--verbose] [--quiet] [--qq] [--ui]

Example:

db.connect

grass.script.parse_command("db.connect", driver="sqlite", database="$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db", schema=None, group=None, flags=None, verbose=False, quiet=False, superquiet=False)

Example:

gs.parse_command("db.connect")

Parameters

driver=name
    Name of database driver
    Allowed values: dbf, ogr, sqlite
    Default: sqlite
database=name
    Name of database
    Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
schema=name
    Database schema
    Do not use this option if schemas are not supported by driver/database server
group=string
    Default group of database users to which select privilege is granted
-p
    Print current connection parameters and exit
    Substitute variables in database settings
-g
    Print current connection parameters using shell style and exit
-c
    Check connection parameters, set if uninitialized, and exit
-d
    Set from default settings and exit
    Overwrite current settings if already initialized
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

driver : str, optional
    Name of database driver
    Used as: input, dbdriver, name
    Allowed values: dbf, ogr, sqlite
    Default: sqlite
database : str, optional
    Name of database
    Used as: input, dbname, name
    Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db
schema : str, optional
    Database schema
    Do not use this option if schemas are not supported by driver/database server
    Used as: name
group : str, optional
    Default group of database users to which select privilege is granted
flags : str, optional
    Allowed values: p, g, c, d
    p
        Print current connection parameters and exit
        Substitute variables in database settings
    g
        Print current connection parameters using shell style and exit
    c
        Check connection parameters, set if uninitialized, and exit
    d
        Set from default settings and exit
        Overwrite current settings if already initialized
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

db.connect allows the user to set database connection parameters. These parameters are then taken as default values by modules so that the user does not need to enter the parameters each time.

The default database backend in GRASS GIS is SQLite (since version 7).

NOTES

Values are stored in the mapset's VAR file; the connection is not tested for validity.

The -p flag will display the current connection parameters.

The -c flag will silently check if the connection parameters have been set, and if not will set them to use GRASS's default values. (useful in scripts before you attempt to create a new database table)

To connect a vector map to a database table, use v.db.connect or v.db.addtable.

EXAMPLES

SQLite (default backend)

Local storage:

db.connect -d
db.connect -p
db.tables -p

The SQLite database file is created automatically when used the first time.

See SQLite database driver for details.

PostgreSQL (local connection)

Local storage, database tables stored in database "mydb" (may require the use of db.login):

db.connect driver=pg database=mydb
db.login user=myname pass=secret
db.connect -p
db.tables -p

See PostgreSQL database driver for details.

PostgreSQL (network connection)

Network storage, database tables stored in database "mydb" (may require the use of db.login):

db.connect driver=pg database=mydb
db.login user=myname pass=secret host=myserver.com port=6666
db.connect -p
db.tables -p

See PostgreSQL database driver for details.

MySQL (local connection)

Local storage, database tables stored in database "mydb" (may require the use of db.login):

db.connect driver=mysql database=mydb
db.login user=myname pass=secret
db.connect -p
db.tables -p

See MySQL database driver for details.

MySQL (network connection)

Network storage, database tables stored in database "mydb" (may require the use of db.login):

db.connect driver=mysql database=mydb
db.login user=myname pass=secret host=myserver.com
db.connect -p
db.tables -p

See MySQL database driver for details.

ODBC

Network storage, database tables stored in database "mydb" (may require the use of db.login):

db.connect driver=odbc database=mydb
db.login user=myname pass=secret
db.connect -p
db.tables -p

See ODBC database driver for details.

Local storage (the dbf/ subdirectory in the mapset must exist or must be created by the user):

db.connect driver=dbf database='$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/'
db.tables -p

See DBF database driver for details.

SEE ALSO

db.columns, db.copy, db.drivers, db.login, db.tables, v.db.addtable, v.db.connect

GRASS SQL interface

AUTHORS

Main author: Radim Blazek, ITC-Irst, Trento, Italy
GRASS 7 improvements: Martin Landa, Markus Metz

SOURCE CODE

Available at: db.connect source code (history)
Latest change: Friday Feb 07 19:16:09 2025 in commit a82a39f