PostgreSQL에 PostGIS 3.4 설치
Rocky Linux 9
PostGIS 3.4 기준 아래의 링크를 확인하면,
PostgreSQL 12 ~ 16 버전의 경우 필수 패키지 버전 확인이 가능하다.
https://postgis.net/docs/manual-3.4/postgis_installation.html
Chapter 2. PostGIS Installation
2.2. Compiling and Install from Source Many OS systems now include pre-built packages for PostgreSQL/PostGIS. In many cases compilation is only necessary if you want the most bleeding edge versions or you are a package maintainer. This section includes ge
postgis.net
필수 패키지 버전을 참고하여, 아래의 링크에서 다운로드
proj 6.1 이상 https://proj.org/ (proj-9.4.0)
GEOS 3.6 이상 https://libgeos.org (geos-3.12.1)
GDAL 3 https://gdal.org/download.html (gdal-3.4.3)
JSON-C 0.9이상 https://github.com/json-c/json-c/releases/ (json-c-0.15)
LibXML2 2.5 이상 https://gitlab.gnome.org/GNOME/libxml2/-/releases (2.12.1)
#아래의 패키지는 필수라고 나와있으나, 설치 링크 연결도 안되고 없어도 설치가 되는 것 확인
PostgreSQL+JIT, LLVM 6이상 https://trac.osgeo.org/postgis/ticket/4125 (설치 안함 - 링크 연결안됨)
- SQLite 버전 업데이트 (PROJ9.4 설치시 sqlite 3.11 버전 이상 필요)
SQLite 버전이 3.11보다 높은경우 다음 단계로 넘어가도록 하자
#SQLite 버전 확인 명령어
sqlite3 --version
-- sqlite tar 압축해제 및 설치 (https://www.sqlite.org/download.html)
tar -xvf sqlite-autoconf-3450300.tar.gz
cd ./sqlite-autoconf-3450300
./configure
make
make install
sqlite3 --version
-- 환경변수 설정(버전확인시 기존 설치 버전으로 나오기때문에 필요)
vi /etc/profile
export LD_LIBRARY_PATH=/usr/local/lib
source /etc/profile
-- SQLite 버전 확인하여 아래와 같은 버전으로 나오면 완료
sqlite3 --version
3.45.3 2024-04-15 13:34:05
- CMake 설치 (PROJ9.4 설치시 cmake 명령어 필요)
CMake가 설치되어 있다면, 다음 단계로 넘어가도록 하자
#cmake 버전 확인 명령어
cmake --version
-- cmake tar 압축해제 및 설치 (https://cmake.org/download/ )
tar -xvf cmake-3.29.3.tar.gz
cd ./cmake-3.29.3
./bootstrap --prefix=/usr/local
make
make install
cmake --version
- PROJ 설치
-- proj tar 압축해제 및 설치 (https://proj.org/en/9.4/download.html)(https://proj.org/en/9.4/install.html)
tar -xvf proj-9.4.0.tar.gz
cd ./proj-9.4.0
mkdir ./build
cd ./build
#외부인터넷이 안되는 환경이므로 BUILD_TESTING=OFF 옵션 적용
cmake -DBUILD_TESTING=OFF -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
cmake --build .
cmake --build . --target install
#삭제 방법 cmake --build . --target uninstall
PROJ 설치 실패로 인한 추가 설치, 아래명령어로 확인후 버전에 맞게 설치
rpm -qa|grep libtiff
rpm -qa|grep libcurl
- GEOS 설치
--geos tar 압축해제 및 설치 (https://libgeos.org/usage/download/)
tar -xvf geos-3.12.1.tar.bz2
cd ./geos-3.12.1
mkdir ./_build
cd ./_build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ ..
make
ctest
make install
- GDAL 설치
-- gdal tar 압축해제 및 설치 (https://gdal.org/download.html / https://gdal.org/development/building_from_source.html)
tar -xvf gdal-3.4.3.tar.gz
cd ./gdal-3.4.3
./configure --with-sqlite3=/usr/local/bin/sqlite3
make
make install
gdalinfo --version
- JSON-C 설치
-- json-c tar 압축해제 및 설치 (https://s3.amazonaws.com/json-c_releases/releases/index.html)
tar -xvf json-c-0.15.tar.gz
cd ./json-c-0.15
mkdir ./build
cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
make install
- LibXML2 설치
-- libxml2가 이미 설치되어있어서, libxml2-devel만 버전에 맞게 설치
rpm -qa|grep libxml2
- POSTGIS 설치
-- postgis tar -xvzf postgis-3.4.2.tar.gz (https://postgis.net/development/source_code/)
tar -xvzf postgis-3.4.2.tar.gz
cd ./postgis-3.4.2
./configure --with-pgconfig=/home/postgres/pgsql/bin/pg_config --with-raster --without-protobuf --with-jsondir=/usr/local
make
make install
(pg_config 파일은 postgresql 설치 경로에 위치) (protobuf를 사용하지 않으므로 ' --without-protobuf ' 옵션 사용) (위에서 json-c 수동 설치 했을경우, ' -DCMAKE_INSTALL_PREFIX=/usr/local ' 옵션을 사용했기때문에
' --with-jsondir=/usr/local ' 옵션으로 경로로 잡아줘야 json-c 위치를 찾음)
- Extensions 추가 설치
-- POSTGIS
cd extensions/postgis
make clean
make && make install
cd ..
-- POSTGIS_TOPOLOGY
cd postgis_topology
make clean
make && make install