「PostGIS」の版間の差分
(翻訳) |
細 (リンク差し替え) |
||
(同じ利用者による、間の1版が非表示) | |||
7行目: | 7行目: | ||
=== PostGIS 拡張のインストール === |
=== PostGIS 拡張のインストール === |
||
− | + | [[PostgreSQL]] 9.1 から PostGIS をインストールしたら空間データベースの postgis 拡張を有効にすることが推奨されています [http://postgis.net/docs/postgis_installation.html#make_install_postgis_extensions]: |
|
$ psql |
$ psql |
||
28行目: | 28行目: | ||
ALTER EXTENSION postgis UPDATE TO "2.1.0"; |
ALTER EXTENSION postgis UPDATE TO "2.1.0"; |
||
− | postgis_template で作成した空間データベースを移行したい場合、データベースを dump してから空間データベースを再作成してデータベースをリストアしてください。詳しくは http:// |
+ | postgis_template で作成した空間データベースを移行したい場合、データベースを dump してから空間データベースを再作成してデータベースをリストアしてください。詳しくは http://postgis.net/docs/manual-dev/postgis-ja.html#hard_upgrade を見てください。 |
== テンプレート PostGIS データベースの作成 == |
== テンプレート PostGIS データベースの作成 == |
||
52行目: | 52行目: | ||
$ createdb -T template_postgis [new_postgis_db] |
$ createdb -T template_postgis [new_postgis_db] |
||
− | == PostGIS が json_tokener_error で動作しな |
+ | == PostGIS が json_tokener_error で動作しない == |
拡張として postgis を追加した場合に発生します。libjson-c パッケージが変更されたのに PostGIS が新しいバージョンに対応した安定版をリリースしていない場合にこの問題が発生します。バグレポートが [http://trac.osgeo.org/postgis/ticket/2213 こちら] にあります。 |
拡張として postgis を追加した場合に発生します。libjson-c パッケージが変更されたのに PostGIS が新しいバージョンに対応した安定版をリリースしていない場合にこの問題が発生します。バグレポートが [http://trac.osgeo.org/postgis/ticket/2213 こちら] にあります。 |
||
58行目: | 58行目: | ||
== 参照 == |
== 参照 == |
||
− | * [http:// |
+ | * [http://www.finds.jp/docs/pgisman/ PostGIS ドキュメント] |
2017年11月10日 (金) 23:26時点における最新版
PostGIS は PostgreSQL データベースに地理情報オブジェクトのサポートを追加します。このドキュメントでは PostGIS のインストールとテンプレート PostGIS データベースの作成について説明します。PostgreSQL は既にインストールされていることを前提とします。まだインストールしていない場合は PostgreSQL のページを見てください。
目次
インストール
PostGIS 拡張のインストール
PostgreSQL 9.1 から PostGIS をインストールしたら空間データベースの postgis 拡張を有効にすることが推奨されています [1]:
$ psql -- verify available extensions SELECT name, default_version,installed_version FROM pg_available_extensions WHERE name LIKE 'postgis%' ; -- install extension for spatial database mygisdb \c mygisdb CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis_tiger_geocoder;
PostGIS 拡張を使用する場合、下のテンプレート PostGIS データベースの作成は不要になります。
postgis 拡張をアップグレード:
$ psql ALTER EXTENSION postgis UPDATE TO "2.1.0";
postgis_template で作成した空間データベースを移行したい場合、データベースを dump してから空間データベースを再作成してデータベースをリストアしてください。詳しくは http://postgis.net/docs/manual-dev/postgis-ja.html#hard_upgrade を見てください。
テンプレート PostGIS データベースの作成
postgres ユーザーに切り替えてください:
$ su # su - postgres
PostgreSQL にアクセスするためのスーパーユーザーを作成していない場合、ここですると良いでしょう。ユーザーに権限を与えるように要求されます:
$ createuser [username]
"template_postgis" という名前の新しいデータベースを作成:
$ createdb -O [username] template_postgis -E UTF-8
PostGIS はデータベース上に pl/pgSQL 言語のインストールを必要とします:
$ createlang plpgsql template_postgis
PostgreSQL の PostGIS 空間タイプと空間参照システムをロードしてください。PostGIS には "postgis.sql" と "spatial_ref_sys.sql" が含まれており /usr/sharepostgresql/contrib/postgis-2.1/
に存在します:
$ psql -d template_postgis -f /usr/share/postgresql/contrib/postgis-2.1/postgis.sql $ psql -d template_postgis -f /usr/share/postgresql/contrib/postgis-2.1/spatial_ref_sys.sql
実際のテンプレートにするには:
$ psql UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis';
テンプレートから PostGIS データベースを作成
新しい PostGIS データベースを作成する場合はテンプレートを予約します。PostgreSQL のスーパーユーザーで以下のコマンドを実行することで新しいデータベースが作成されます:
$ createdb -T template_postgis [new_postgis_db]
PostGIS が json_tokener_error で動作しない
拡張として postgis を追加した場合に発生します。libjson-c パッケージが変更されたのに PostGIS が新しいバージョンに対応した安定版をリリースしていない場合にこの問題が発生します。バグレポートが こちら にあります。
postgis の PKGBUILD をダウンロードしてバージョンを '2.1.0rc1' に変更してください。