PostgreSQL과 PostGIS 설치

2025. 1. 7. 10:00프로그래밍/GIS

728x90

설치라는 말이 좀 안 어울리기는 하지만, 다음과 같이 구성 해 보았습니다.

 

1. PostgreSQL 풀기

미친척하고, 아래 다운로드에서 최신의 압축 파일을 하나 받도록 합니다.

 

 

EDB: Open-Source, Enterprise Postgres Database Management

 

www.enterprisedb.com

postgresql-17.2-3-windows-x64-binaries 폴더가 생기도록 압축을 풀어 둡니다.

 

2. PostGIS 풀기

아래 다운로드에서 최신의 압축 파일을 하나 받도록 한다.

 

 

Index of /postgis/windows/pg17/

 

download.osgeo.org

postgis-bundle-pg17-3.5.0x64 폴더가 생기도록 압축을 풀어 둡니다.

 

3. PostgreSQL과 PostGIS 합치기

postgis-bundle-pg17-3.5.0x64 폴더 내용을 postgresql-17.2-3-windows-x64-binaries 폴더로 모두 옮겨 줍니다.

중복이 나오면, 모두 덮어쓰기 합니다.

 

4. 환경 설정

- pg_env.bat

SET PG_ROOT=C:\DEV\Tools\postgresql
SET PG_HOME=%PG_ROOT%\home
SET PG_DATA=%PG_ROOT%\data

SET PATH=%PG_HOME%\BIN;.;%PATH%;

5. 데이터베이스 환경설정

데이터베이스가 만들어지지 않는 상황이므로, 데이터베이스를 만들어야만 합니다. 저번에 써 놓은 글에서 힌트를 얻어서 만들어 보기로 했습니다.

 

 

postgresql-12.1 빌드 및 환경 설정

#32비트 용 #postgresql 최신 버전 #빌드하기 - 12.1 32비트용 최신 postgresql-12.1 버전을 빌드하고 간단...

blog.naver.com

 

가. 데이터 초기화 명령 실행

initDB -D %PG_DATA%

위와 같이 아무런 오류가 없으면 초기화가 된 것이며, 다음과 같이 디렉토리에 많은 것들이 생긴 것을 확인 할 수 있습니다.

나. 데이터베이스 서버 시작

다음과 같이 명령을 입력 해 봅니다.

call pg_env.bat

pg_ctl -D %PG_DATA% -l %PG_ROOT%\logs\pg_svr.log start

 

다. 데이터베이스 서버 종료

call pg_env.bat

pg_ctl -D %PG_DATA% -l %PG_ROOT%\logs\pg_svr.log stop
pause ..

라. 데이터베이스 상태 확인

call pg_env.bat
pg_ctl status -D %PG_DATA%
pause ..

 

마. 권한/Role 만들기

내가 쓴글에서 힌트를 얻었습니다.

"로그인 사용자가 postgres 가 아니라면
이 유저에 대한 권한이나 롤이 존재 하지 않았다는 것입니다."
psql -d postgres
postgres=#CREATE ROLE postgres WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'postgres';
postgres=#\password postgres

 

6. pgAdmin 4 - 서버 연결 만들기

데이터베이스를 만들고 실행했으니, 서버 연결을 만들어야 할 것 같아서, pgAdmin 4를 실행해 줍니다.

 

위치는

C:\DEV\Tools\postgresql\home\pgAdmin 4\runtime

왠지 화살표를 누르면 빨리 실행 될 것 같아서 눌러 보았습니다.

 

아무것도 없어 보이네요

 

가. 데이터베이스 서버 만들기

Server Group 을 우선 생성 해 봅시다.

 

 

생성 해놓고 보니, Servers 가 Server Group 이네요그래서 삭제 해 주었습니다.

Add New Server를 해 주도록 합니다.

그리고 다른 탭 설정은 잘 모르겠습니다. 나중에 고치면 될 것으로 보이네요.

기본으로 만들었으니 연결 정보는 다음과 같지 않을까요?

Database Connection:
Username: postgres
Password: postgres (or whatever you entered above)
Port: 5432 (or whatever you entered above)
Role : postgres

제대로 연결이 된 경우 다음과 같은 화면이 뜰 것으로 예상 됩니다.

 

7. PostGIS 설치 확인

이제 데이터베이스를 설치 하였으므로, 공간엔진인 PostGIS 를 활성화 해 보도록 하겠습니다.

 

 

PostGIS 3.3.9dev 사용자 지침서

SELECT f.geom AS before_geom, ST_MakeValid(f.geom) AS after_geom, ST_MakeValid(f.geom, 'method=structure') AS after_geom_structure FROM (SELECT 'MULTIPOLYGON(((186 194,187 194,188 195,189 195,190 195, 191 195,192 195,193 194,194 194,194 193,195 192,195 191

postgis.net

SELECT 
	name, default_version,installed_version
FROM 
	pg_available_extensions 
WHERE 
	name LIKE 'postgis%' or name LIKE 'address%';

 

Extension 들이 제대로 들어가 있는 것을 확인 해 볼 수 있습니다.

 

이상.

728x90