관리자가 데이터베이스를 성공적으로 설치하고 필요한 세부 정보를 제공 한 것처럼 들립니다. 설치 중에 PostGIS도 구성했을 수도 있지만, 그렇지 않은 경우이 단계를 수행하면서 확인할 수 있습니다.
먼저 관리자에게 pgAdmin을 설치하도록 요청하면 그래픽 인터페이스로 PostgreSQL 데이터베이스에 액세스 할 수 있습니다.
https://www.pgadmin.org/download/windows.php
pgAdmin 열기
PostgreSQL이 설치된 경우;
- 컴퓨터에서 로컬 호스트로 표시되면 'PostgreSQL (버전 번호) (localhost : 5432)'을 두 번 클릭하여 연결할 수 있습니다.
- 네트워크에 설치되어있는 경우 관리자가 호스트 주소를 알려 주어야합니다 (아직없는 경우). 파일> 서버 추가로 이동하여 필드를 채워야합니다.
연결되면 Edit > New Object > New Database
이름을 알려주세요. 서버 목록에 나타납니다.
연결하려면 두 번 클릭하십시오. Extensions
이 목록에 있는지 확인하십시오 postgis
.
그렇지 않다면;
SQL 아이콘을 클릭하여 SQL 창을 엽니 다
입력
CREATE EXTENSION PostGIS
'조회 실행'을 누르십시오-이 아이콘
목록에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 연결을 끊은 후 다시 연결하십시오. 확장이 이제 postgis
나열되었습니다.
이 시점에서 새 그룹 역할과 로그인 역할을 설정할 수 있으며, 보안 요구 사항과 네트워크의 사용자가 주어진 것처럼 들립니다.
또는 테스트 만하려면 기본 역할을 계속 수행 할 수 있습니다 postgres
.
다른 그룹은 다른 권한 (예 : 관리자 및 사용자)을 갖도록 설정할 수 있습니다. 그런 다음 사용자 로그인을 설정하여 사용자에게 부여하려는 권한 수준에 맞는 그룹에 할당하거나 관리자에게 모든 테이블에 대한 액세스 권한을 부여 할 수 있으며 일부는 사용자에게만 액세스 할 수 있습니다. 관리자 그룹이 필요하지 않을 수 있습니다.
SQL 창을 열고이 쿼리를 실행하십시오.
CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT user_group_name TO admin_group_name
GRANT ALL ON DATABASE database_name TO admin_group_name;
관리자 로그인 설정 (postgres / superuser로 로그인)
CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;
사용자 로그인 설정 (postgres / superuser로 로그인)
CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;
QGIS를 엽니 다. 새 프로젝트를 시작하십시오.
왼쪽 툴바에서 'PostGIS 레이어 추가'아이콘을 클릭하십시오.
'신규'연결을 클릭하고 위와 같이 연결 세부 사항을 입력하십시오 (데이터베이스가 로컬 인 경우 호스트는 단지 localhost
).
이 시점에서 연결을 테스트 할 수 있습니다. 사용자 이름 및 비밀번호 필드로 '저장'상자를 선택하면 자격 증명이 프로필에 저장되므로 매번 입력 할 필요가 없습니다. 보안 요구에 따라 귀하에게 달려 있습니다.
Ok를 누르고 'Add PostGIS table window'를 닫습니다.
그런 다음 Database > DB Manager > DB Manager
(최근 QGIS 버전에는 DB Manager가 표준으로 설치되어 있으며, 이전 버전에서는 DB Manager 플러그인을 설치해야합니다)
PostGIS를 선택하십시오. 기본 공개 스키마가 표시됩니다. 마치 공개 스키마를 사용하지 않고 새 스키마를 만들어야하는 것처럼 들립니다.
스키마> 스키마 생성-이름을 지정하십시오 ( no_spaces_or_use_underscores
).
일단 생성되면 pgAdmin으로 돌아가서 연결을 끊고 다시 연결하여 확인할 수 있습니다. 이제 새로운 스키마가 있어야합니다.
QGIS DB Manager로 돌아가서 shapefile을 데이터베이스의 테이블에 업로드하십시오.
아래쪽 화살표 '레이어 / 파일 가져 오기'를 클릭하여 가져 오려는 모양 파일을 찾습니다. `...``아이콘을 클릭하여 찾아보기를 엽니 다.
테이블 이름을 지정하십시오 ( again_no_spaces_or_use_underscores
)
고르다 Primary key
고르다 Geometry Column
SRID
CRS 코드를 선택 하고 입력하십시오
지금은 다른 모든 것을 남겨 두십시오 OK
.
큰 데이터 세트 인 경우 특히 네트워크 / 인터넷 연결에서 시간이 오래 걸릴 수 있습니다
다시 pgAdmin으로 돌아가서 이번에 refresh를 누르면 새 테이블이에 나타납니다 Tables
.
그룹 역할과 사용자를 설정 한 경우 예를 들어 스키마에 대한 액세스 권한을 부여해야합니다.
GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;
QGIS 및 'Add PostGIS 레이어'로 돌아갑니다. 이번에는 연결을 선택하십시오. 스키마를 열고 테이블을 강조 표시하고 '추가'를 클릭하면 프로젝트 공간에 열립니다.