db.copy(1)

NAME
db.copy - Copy a table.
Either ’from_table’ (optionally with ’where’) can be used or ’select’ option, but not ’from_table’ and ’select’ at the same time.

KEYWORDS
database, attribute table, SQL

SYNOPSIS
db.copy
db.copy --help
db.copy [from_driver=name] [from_database=name] [from_table=name] [to_driver=name] [to_database=name] to_table=name [where=sql_query] [select=string] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

  Flags:

--overwrite
    Allow output files to overwrite existing files

--help
    Print usage summary

--verbose
    Verbose module output

--quiet
    Quiet module output

--ui
    Force launching GUI dialog

  Parameters:

from_driver=name
    Input driver name
    Options: dbf, ogr, pg, sqlite
    Default: sqlite

from_database=name
    Input database name
    Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db

from_table=name
    Input table name (only, if ’select’ is not used)

to_driver=name
    Output driver name
    Options: dbf, ogr, pg, sqlite
    Default: sqlite

to_database=name
    Output database name
    Default: $GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db

to_table=name [required]
    Output table name

where=sql_query
    WHERE conditions of SQL statement without ’where’ keyword
    Example: income < 1000 and population >= 10000

select=string
    Full select statement (only, if ’from_table’ and ’where’ is not used)
    E.g.: SELECT dedek FROM starobince WHERE obec = ’Frimburg’

DESCRIPTION
db.copy allows the user to copy a table between two databases. Databases can be connected through different drivers (see examples below).

NOTES
Attribute tables can be copied using db.copy and, when to be associated to a vector map, assigned to the map with v.db.connect. Current connection settings are saved in the file $LOCATION/vector_map/dbln.

EXAMPLES

  From DBF to PostgreSQL
Storing table ’geonames.dbf’ (in current directory) into PostgreSQL through ODBC:

db.copy from_driver=dbf from_database=’$GISDBASE/$LOCATION_NAME/PERMANENT/dbf’ \
  from_table=geonames to_driver=pg to_database="host=pgserver,dbname=testdb" \
  to_table=geonames

  From PostgreSQL to DBF

db.copy from_driver=pg  from_database="host=pgserver.example.org,dbname=testdb" \
  from_table=origtable to_driver=dbf \
  to_database=’$GISDBASE/$LOCATION_NAME/$MAPSET/dbf’ to_table=origtable

  From PostgreSQL to PostgreSQL with condition

db.copy from_driver=pg  from_database="host=localhost,dbname=testdb" \
  from_table=geonames to_driver=pg to_database="host=localhost,dbname=testdb" \
  to_table=selection where="cat < 500"

  From DBF to SQLite

db.copy from_driver=dbf from_database=’$GISDBASE/$LOCATION_NAME/PERMANENT/dbf’ \
   from_table=geonames_features to_driver=sqlite \
   to_database=’$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db’ to_table=geonames_features
# convenient viewer:
sqlitebrowser $HOME/grassdata/nc_spm_08/user1/sqlite/sqlite.db

  From SQLite to DBF

db.copy from_driver=sqlite from_database=’$GISDBASE/$LOCATION_NAME/$MAPSET/sqlite/sqlite.db’ \
   from_table=ammprv to_driver=dbf to_database=’$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/’ \
   to_table=ammprv

SEE ALSO
db.connect, db.drivers, db.login, v.db.connect, v.clean

GRASS SQL interface

AUTHOR
Radim Blazek, ITC-irst, Trento, Italy

SOURCE CODE

Available at: db.copy source code (history)

Accessed: Monday May 11 17:53:49 2026

Main index | Database index | Topics index | Keywords index | Graphical index | Full index

© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual