Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 73.68%.

16.3. Lektion: Import och export

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>

Under Windows måste du utföra importprocessen i två steg:

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

Du kan stöta på detta fel:

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

Detta är ett känt problem som gäller skapandet in situ av ett spatialt index för de data du importerar. Undvik felet genom att utesluta parametern -I. Detta innebär att inget spatialt index skapas direkt och att du måste skapa det i databasen efter att data har importerats. (Skapandet av ett spatialt index tas upp i nästa lektion)

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>

För att exportera data med hjälp av en fråga:

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. Sammanfattningsvis

Import och export av data till och från databasen kan göras på många olika sätt. Speciellt när du använder olika datakällor kommer du förmodligen att använda dessa funktioner (eller andra liknande) regelbundet.

16.3.6. Vad händer härnäst?

Nu ska vi titta på hur man söker efter de data som vi har skapat tidigare.