I. 목표
GIS를 이용하여 지도상 거점을 관리하기 위하여 POSTGRESQL을 설치한다.
II. 연구 및 개발내용
1. 설치
1) Postgresql와 postgresql-contrib(Extension)을 설치
sudo apt-get install postgresql postgresql-contrib
이후 서비스 재시작
service postgresql restart
2) PostGis 설치
최신 우분투의 경우
sudo apt-get install postgis postgresql-16-postgis-3
버전에 맞게
sudo apt-get install postgis postgresql-12-postgis-3
참고 : 당사의 IDC에 있는 리얼서버에서는 postgresql 서버가 9.5버전이므로 postgis 2.2를 설치해야했음
apt-get install postgresql-9.5-postgis-2.2
2. 외부접속허용
1) postgresql.conf 파일 변경
vi /etc/postgresql/12/main/postgresql.conf
#listen_addresses = ‘localhost’
을 아래처럼 변경
listen_addresses = ‘*’
하고 서비스 리스타트
service postgresql restart
|
2) 인증
다음 명령을 사용하여 비밀번호 인증을 진행하고 허용하십시오.
sudo sed -i ‘/^host/s/ident/md5/’ /etc/postgresql/16/main/pg_hba.conf
이제 다음 명령을 사용하여 식별 방법을 피어에서 신뢰로 변경하십시오.
sudo sed -i ‘/^local/s/peer/trust/’ /etc/postgresql/16/main/pg_hba.conf
마지막으로 아래 줄을 편집하여 PostgreSQL에 원격으로 액세스할 수 있도록 허용합니다.
vi /etc/postgresql/12/main/pg_hba.conf 에 아래와 같이 추가
host all all 0.0.0.0/0 scram-sha-256
3) 방화벽오픈
ufw allow 5432/tcp
3. 인코딩 변경
su – postgres
vi /etc/postgresql/16/main/postgresql.conf
lc_messages = ‘ko_KR.UTF-8’
lc_monetary = ‘ko_KR.UTF-8’
lc_numeric = ‘ko_KR.UTF-8’
lc_time = ‘ko_KR.UTF-8’
|
4. 계정 비밀번호 변경
postgresql을 설치하면 자동으로 postgres 라는 계정이 생성된다.
필요하다면 쉘로 로그인하여 계정의 비밀번호를 변경하면 된다.
sudo passwd postgres
새 UNIX 암호 입력 : XXX
새 UNIX 암호 입력 : XXX
5. postgres 접속
psql -U postgres
6. DB 사용자 생성
CREATE USER aaaa PASSWORD ‘bbbb’ SUPERUSER;
7. 데이터베이스 생성
CREATE DATABASE TestDB OWNER aaaa ENCODING utf8 LC_COLLATE ‘ko_KR.UTF-8’ LC_CTYPE ‘ko_KR.UTF-8’ TEMPLATE template0;
– 주의 : 인코딩을 한글로 하려면 TEMPLATE을 template0으로 지정해야함.
데이터베이스는 생성될 때 기본적으로 template1 데이터베이스를 복제하여 생성하는데,
이 template1과 내가 만든 DB가 충돌해서 에러가 발생하게 된다.
이를 해결하기위해서는 template0을 이용하면 된다.
8. POSTGIS 활성화
psql TestDB -c “CREATE EXTENSION postgis”;