重要

翻訳は あなたが参加できる コミュニティの取り組みです。このページは現在 100.00% 翻訳されています。

16.3. レッスン: インポートとエクスポート

もちろん、データを出し入れする簡単な方法がないデータベースはあまり役に立たないでしょう。幸い、PostgreSQLにデータを簡単に出し入れできるようにするツールはたくさんあります。

16.3.1. shp2pgsql

shp2pgsqlは、ESRIシェープファイルをデータベースにインポートするためのコマンドラインツールです。Unixでは、以下のコマンドで新しいPostgreSQLテーブルをインポートすることができます:

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

Windows では, 2ステップでインポート処理を実行します :

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

次のようなエラーが発生することがあります :

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

これは、インポートするデータの空間インデックスを その場 で作成することに関する既知の問題です。このエラーを回避するには、-I パラメータを除外してください。この場合、空間インデックスは直接作成されないので、データをインポートした後にデータベースで作成する必要があります。(空間インデックスの作成については、次のレッスンで説明します)。

16.3.2. pgsql2shp

pgsql2shp は, PostgreSQL のテーブル, ビュー, または SQL の select クエリをエクスポートするためのコマンドラインツールです. Unix では次のように実行します :

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

クエリを使用してデータをエクスポートするには :

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

16.3.3. ogr2ogr

ogr2ogr は、PostgreSQL と多くのデータフォーマットの間でデータを変換するための非常に強力なツールです。ogr2ogrはGDALライブラリの一部であり、別々にインストールする必要があります。PostgreSQLからGMLにテーブルをエクスポートするには、このコマンドが使用できます:

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

16.3.4. DB Manager

データベース メニューに DBマネージャ という別のオプションがあることにお気づきかもしれません。これは PostgreSQL を含む空間データベースと対話する統一的なインターフェイスを提供するツールです。これもデータベースから他のフォーマットにインポートとエクスポートができます。次のモジュールではこのツールを使うことに重点を置いているので、ここでは簡単に触れるだけに留めます。

16.3.5. 結論

データベースでデータをインポート及びエクスポートすることは様々な方法で行うことができます。異なるデータソースを使用する場合は特に, この機能(またはそれに似た機能)を日常的に使用することになるでしょう。

16.3.6. 次は?

次に,私たちが以前に作成したデータを参照する方法を見ていきます.