🌏
PostGIS の検証環境をさくっと用意する
気持ち
PostGIS、Homebrew で入れるとクソデカ依存性でぐっちゃぐちゃになるし手動ビルドするのもめんどくさいしどうにかしたい。
結論
Docker Hub で公開されている公式の Docker イメージ postgis/postgis が便利。
$ docker run --name postgis --rm -d -p 5432:5432 -v postgres-tmp:/var/lib/postgresql/data postgis/postgis:14-3.2
...
$ psql -h 127.0.0.1 -p 15432 -U postgres
psql (14.4)
Type "help" for help.
postgres=# \dx
List of installed extensions
Name | Version | Schema | Description
------------------------+---------+------------+------------------------------------------------------------
fuzzystrmatch | 1.1 | public | determine similarities and distance between strings
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
postgis | 3.2.1 | public | PostGIS geometry and geography spatial types and functions
postgis_tiger_geocoder | 3.2.1 | tiger | PostGIS tiger geocoder and reverse geocoder
postgis_topology | 3.2.1 | topology | PostGIS topology spatial types and functions
(5 rows)
postgres=# select st_distance(st_makepoint(0,0), st_makepoint(1,0));
st_distance
-------------
1
(1 row)
補足
Docker は下記を参考に Lima をセットアップして launchd で自動起動するようにした。
GitHub にある docker.yaml そのままでほぼ動いたけど、Ubuntu イメージのバージョン決め打ちは気持ち悪いので latest の x86_64 だけ残してコメントアウトした。
筆者環境:
$ sw_vers
ProductName: macOS
ProductVersion: 12.5
BuildVersion: 21G72
$ uname -a
Darwin ... 21.6.0 Darwin Kernel Version 21.6.0: Sat Jun 18 17:07:25 PDT 2022; root:xnu-8020.140.41~1/RELEASE_X86_64 x86_64
Discussion