반응형

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
반응형

+ Recent posts