- 조건 : ArcGIS Desktop 10.8.0 + PostgreSQL 11.x + PostGIS 3.0
- 기반 : Windows 10
* ArcGIS 버전에 대한 System Requirement를 숙지하여 각 단위 S/W에 맞는 버전 설치
> 설치
1. S/W 설치
- PostgreSQL + PostGIS 설치
2. 연결설정
- 방화벽 규칙에서 PostgreSQL Port(기본 = 5432) 허용
- PostgreSQL 설치폴더\data\pg_hba.conf 편집
: '# IPv4 local connections:' 항목에 'host all all 0.0.0.0/0 md5' 추가
: pgAdmin에서 PostgreSQL 11에서 'Reload configuration'
- 외부 Client PC에서 접속 확인
3. ArcGIS st_geometry 설정
- st_geometry.dll 붙여 넣기
: "\ArcGIS 설치폴더\DatabaseSupport\PostgreSQL\운영체제\" 경로의 st_geometry.dll 복사
: "\PostgreSQL 설치폴더\버전\lib\" 경로에 st_geometry.dll 붙여넣기
> 설정
* Database name, user name은 소문자로 하기. 대문자는 인식이 않되는 경우가 발생됨.
4. GIS DB 사용자 생성
: pgAdmin를 통해 sde 사용자 생성 및 권한[login, superuser, 상속] 부여
: pgAdmin를 통해 GIS DB 사용자 생성 및 권한[login, superuser, 상속] 부여
5. Database 생성
: pgAdmin를 통해 sde 사용자가 소유자인 Database 생성
6. postGIS 활성화
- SQL Shell에서 확장 생성
: "create extension postgis;" 질의문 실행
: "select postgis_version();" 으로 확인
7. ArcGIS Desktop의 'Create Enterprise Geodatabase'로 DB 및 sde 사용자 생성
- ArcGIS Desktop의 도구 中 'Create Enterprise Geodatabase'를 통해 공간DB 생성
: Instance는 PostgreSQL 서버 ip, postgres 암호, sde 암호 필수 입력
: keycodes 파일 위치 = ArcGIS Server의 "C:\Program Files\ESRI\License버전\sysgen" 에서 불러오기.
- pgAdmin의 Database > * > Schema에 'sde' 항목이 생성됨.
8. ArcGIS Desktop에서 'Create Database User' 실행
: Database Connections 항목을 통해 PostgreSQL에 sde 계정으로 접속
: 마우스 오른쪽 'Create Database User' 로 생성된 GIS DB 사용자 계정 정보 입력 및 실행
: 생성된 Database > Schema에 GIS DB 사용자 명칭으로 생성됨 확인
9. Client PC에서 create_database_user.py 실행
: 첨부파일 참조
: create_database_user.py --DBMS POSTGRESQL -i PostgreSQL_ip -D GIS_DB_명칭 -U postgres -P {postgres 암호} --utype DATABASE_USER -u {GIS DB 사용자 ID} -p {GIS DB 사용자 암호}
10. GIS DB 사용자에게 권한 부여
- SQL Shell 실행 후 sde로 로그인
: "GRANT USAGE ON SCHEMA {GIS DB 사용자 이름} TO PUBLIC;" 실행
: "GRANT SELECT, INSERT, UPDATE, DELETE ON public.Geometry_columns TO {사용자 이름};" 실행
11. PostgreSQL 서버 재시작 및 점검
- ArcCatalog > Database Connections를 통해 GIS File/Data의 Import
: GIS DB 사용자에 대한 Table에 GIS Data가 Import 되었는지 확인
p.s 상기 내용은 ESRI의 기술문서, Trouble Shooting 등에 관련한 내용 등을 참고하여 종합하였습니다.
중복되는 절차 등이 존재하는 것 같으나, 여러번의 삽질 끝에 정상적으로 구동됨을 확인하며 기록하였습니다.
> 참고 URL
- Add login roles to PostgreSQL : https://desktop.arcgis.com/en/arcmap/latest/manage-data/gdbs-in-postgresql/add-users-postgresql.htm
'메모 or 스크랩 > GIS관련' 카테고리의 다른 글
Arc Server 10.5의 ST_Geometry 설정 (0) | 2019.04.05 |
---|---|
[오류] ArcGIS Server 공간DB 연결설정 변경 (0) | 2018.09.12 |
지번코드(PNU) 자리수의 의미 (0) | 2018.09.12 |