Importante

La traduzione è uno sforzo comunitario you can join. Questa pagina è attualmente tradotta al 73.68%.

16.3. Lezione: Importare e Esportare

Of course, a database with no easy way to migrate data into it and out of it would not be of much use. Fortunately, there are a number of tools that will let you easily move data into and out of PostgreSQL.

16.3.1. shp2pgsql

shp2pgsql is a commandline tool to import ESRI Shapefile to the database. Under Unix, you can use the following command for importing a new PostgreSQL table:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> | \
  psql -d <databasename> -h <hostname> -U <username>

Sotto Windows, devi eseguire l’importazione in due passaggi:

shp2pgsql -s <SRID> -c -D -I <path to shapefile> <schema>.<table> > import.sql
psql psql -d <databasename> -h <hostname> -U <username> -f import.sql

Puoi incontrare questo errore:

ERROR:  operator class "gist_geometry_ops" does not exist for access method
"gist"

Si tratta di un problema noto che riguarda la creazione in situ di un indice spaziale per i dati che si stanno importando. Per evitare l’errore, escludere il parametro ``-I””. In questo modo non verrà creato direttamente alcun indice spaziale e sarà necessario crearlo nel database dopo l’importazione dei dati. (La creazione di un indice spaziale sarà trattata nella prossima lezione).

16.3.2. pgsql2shp

pgsql2shp is a commandline tool to export PostgreSQL Tables, Views or SQL select queries. To do this under Unix:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> <databasename> <table | view>

Per esportare i dati utilizzando un’interrogazione:

pgsql2shp -f <path to new shapefile> -g <geometry column name> \
  -h <hostname> -U <username> "<query>"

16.3.3. ogr2ogr

ogr2ogr is a very powerful tool to convert data into and from PostgreSQL to many data formats. ogr2ogr is part of the GDAL library and has to be installed separately. To export a table from PostgreSQL to GML, you can use this command:

ogr2ogr -f GML export.gml PG:'dbname=<databasename> user=<username>
        host=<hostname>' <Name of PostgreSQL-Table>

16.3.4. DB Manager

You may have noticed another option in the Database menu labeled DB Manager. This is a tool that provides a unified interface for interacting with spatial databases including PostgreSQL. It also allows you to import and export from databases to other formats. Since the next module is largely devoted to using this tool, we will only briefly mention it here.

16.3.5. In Conclusione

L’importazione e l’esportazione di dati da e verso il database può essere eseguita in molti modi diversi. Soprattutto se usi fonti di dati diverse, farai uso di queste funzioni (o altre come loro) su base regolare.

16.3.6. Cosa Segue?

Ora vedrai come interrogare i dati che hai creato in precedenza.