Udało mi się to zrobić po wielu kombinacjach. W skrócie rozwiązaniem jest zainstalowanie starej wersji oryginalnego pakietu postgres
, przełącz się na niego i zainstaluj starą wersję postgis
.
Zainstaluj postgres
1/ Zainstaluj aktualną wersję postgres
(10,1 jak mówię)
brew install postgres
2/ Zainstaluj starą wersję postgresa używając jej starej formuły. Właściwy link można znaleźć za pomocą github lub git log
w repozytorium Tap (/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/
).
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/d014fa223f77bee4b4097c5e80faa0954e28182f/Formula/postgresql.rb
Spowoduje to zainstalowanie wersji 9.6.5 (ostatniej przed serią 10.x).
3/ Przełącz się na to, aby linki były domyślnie ustawione na postgres 9.6
brew switch postgres 9.6.5
Zainstaluj postgis
4/ Zainstaluj starą wersję postgis (2.3). Używa tej samej wersji sha formuły, więc wszystko jest poprawnie połączone (używanie bieżącego postgis będzie oczekiwało postgresql 10, więc zakończy się niezgodnością wersji podczas inicjowania rozszerzenia).
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/d014fa223f77bee4b4097c5e80faa0954e28182f/Formula/postgis.rb
Użyj ich
5/ W razie potrzeby zainicjuj DB
initdb /usr/local/var/postgres
6/ Tworzenie i używanie bazy danych
createdb mydb
psql mydb
mydb=# CREATE EXTENSION postgis;