postgis.sql が存在しない場合の対処法
Fedora 16 に PostGIS を入れる途中でハマった話.
他所のページを見ると,「PostGIS インストール後にテンプレートデータベースを作り,そこに postgis.sql と spatial_ref_sys.sql を読みこませる」と書いてあるけど,yum でインストール (yum install postgis) した我が家の PostGIS さんにはそんな物は付属していないのだった・・・.
しょうがないので,インストールした PostGIS に対応するバージョンのソースコードを落として,そこからぶっこ抜くことにした.
まずはインストール済みの PostGIS のバージョンを調べる.
$ yum info postgis
バージョン : 1.5.3
対応するバージョンの PostGIS のソースコードをダウンロード.
$ wget http://postgis.refractions.net/download/postgis-1.5.3.tar.gz
$ tar zxvf postgis-1.5.3.tar.gz
$ cd postgis-1.5.3
所望の sql ファイルが存在するか調べてみる.
$ find . -name postgis.sql
$ find . -name spatial_ref_sys.sql
./spatial_ref_sys.sql
spatial_ref_sys.sql はあるが,postgis.sql が存在しない.これはコンパイル時に生成されるようなので,コンパイルする.まず依存するライブラリをインストール.
$ sudo yum install geos-devel proj-devel
続いておなじみの手順でコンパイル.
$ ./configure
$ make
$ find . -name postgis.sql
./postgis/postgis.sql
以上で,postgis.sql と spatial_ref_sys.sql を手に入れることができた.
あとは,これらを読み込ませたテンプレートデータベースを作れば使える.
$ createdb -E UTF8 template_postgis
$ psql -Upostgres -f ./postgis/postgis.sql template_postgis
$ psql -Upostgres -f ./spatial_ref_sys.sql template_postgis