웹사이트 검색

Debian 10에 PostGIS PostgreSQL 지리 정보 시스템을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. PostgreSQL 설치
  4. PostGIS 설치
  5. PostgreSQL에서 PostGIS 활성화\n
  6. PostGIS용 PostgreSQL 최적화\n
  7. 결론

PostGIS는 "Geographic Information Systems" 개체를 PostgreSQL 개체 관계형 데이터베이스에 허용하는 오픈 소스 소프트웨어입니다. PostGIS는 서버가 물리적 디스크 저장소에서 RAM으로 마이그레이션되는 데이터의 양을 늘리는 데 도움이 되는 경량 지오메트리를 사용하도록 특별히 설계되었습니다. 기하학 및 지리 데이터 유형을 사용하여 공간 데이터를 저장하는 데 사용되는 PostgreSQL의 확장입니다. 또한 일부 특수 쿼리를 수행하여 면적, 거리, 길이, 둘레를 결정하고 데이터에 대한 인덱스를 생성하는 데 사용됩니다.

이 튜토리얼에서는 Debian 10에 PostGIS를 설치하는 방법을 배웁니다.

전제 조건

  • Debian 10을 실행하는 서버.\n
  • 서버에 루트 암호가 설정되어 있습니다.\n

시작하기

시작하기 전에 시스템 패키지를 최신 버전으로 업데이트하는 것이 좋습니다. 다음 명령을 사용하여 업데이트할 수 있습니다.

apt-get update -y
apt-get upgrade -y

모든 패키지가 업데이트되면 시스템을 다시 시작하여 변경 사항을 적용하십시오.

PostgreSQL 설치

시작하기 전에 시스템에 PostgreSQL 리포지토리를 추가해야 합니다.

먼저 다음 명령을 사용하여 GPG 키를 다운로드하고 추가합니다.

apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

다음으로 다음 명령을 사용하여 PostgreSQL 리포지토리를 추가합니다.

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 PostgreSQL 서버를 설치합니다.

apt-get update -y
apt-get install postgresql-11 -y

설치가 완료되면 다음 명령을 사용하여 PostgreSQL 서버의 상태를 확인할 수 있습니다.

systemctl status postgresql

다음 출력이 표시되어야 합니다.

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.

PostGIS 설치

이 시점에서 PostgreSQL 서버가 설치되어 실행 중입니다. 이제 PostGIS를 설치할 시간입니다.

다음 명령을 실행하여 간단히 설치할 수 있습니다.

apt-get install postgis postgresql-11-postgis-2.5 -y

설치가 완료되면 다음 단계로 진행할 수 있습니다.

PostgreSQL에서 PostGIS 활성화

다음으로 공간 데이터를 저장하기 전에 PostgreSQL 데이터베이스와 사용자를 생성하고 데이터베이스에서 PostGIS 기능을 활성화해야 합니다.

먼저 다음 명령을 사용하여 PostgreSQL에 로그인합니다.

su - postgres

다음으로 다음 명령을 사용하여 사용자 및 데이터베이스를 생성합니다.

:~$ createdb postgis_db -O postgisuser

다음으로 방금 만든 데이터베이스에 연결합니다.

:~$ psql -d postgis_db

다음 출력이 표시되어야 합니다.

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

다음으로 데이터베이스에서 PostGIS 확장을 활성화합니다.

postgis_db=# CREATE EXTENSION postgis;

다음으로 PostGIS가 작동하는지 여부를 확인합니다.

postgis_db=# SELECT PostGIS_version();

다음 출력이 표시되어야 합니다.

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

마지막으로 다음 명령을 사용하여 PostgreSQL 셸을 종료합니다.

postgis_db=# \q
:~$ exit

PostGIS용 PostgreSQL 최적화

PostgreSQL은 소규모 데이터베이스에서 대규모 데이터베이스로 실행되도록 설계되었습니다. PostGIS 데이터베이스 개체는 텍스트 데이터에 비해 큽니다. 따라서 PostGIS 개체와 더 잘 작동하려면 PostgreSQL을 최적화해야 합니다.

/etc/postgresql/11/main/postgresql.conf 파일을 편집하여 PostgreSQL 서버를 최적화할 수 있습니다.

nano /etc/postgresql/11/main/postgresql.conf

시스템 RAM에 따라 다음 매개변수를 변경합니다.

#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0 

완료되면 파일을 저장하고 닫습니다. 그런 다음 PostgreSQL 서비스를 다시 시작하여 변경 사항을 구현합니다.

systemctl restart postgresql

결론

축하합니다! PostgreSQL 서버에 PostGIS를 성공적으로 설치했습니다. 이제 공간 쿼리를 위해 데이터베이스를 구성했습니다. 자세한 내용은 PostGIS에서 PostGIS 설명서를 참조하십시오.