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