설치 및 구성 > ThingWorx 설치 > Windows 설치 > PostgreSQL > PostgreSQL 설치 및 구성(Windows)
PostgreSQL 설치 및 구성(Windows)
아래에 제공된 지침은 PostgreSQL 관리자(DB 호스트 서버 아님)를 대상으로 작성되었습니다. HA 레이어를 구현에 포함하는 경우 이 도움말 센터의 ThingWorx 고가용성 단원을 참조하십시오.
PostgreSQL 설치 및 새 사용자 역할 생성
1. 지원되는 PostgreSQL 버전에 대한 자세한 내용은 ThingWorx 시스템 요구사항을 참조하십시오.
* 
이 절차의 단계에서는 PostgreSQL 버전 x. x를 사용합니다. 여기서 x.x는 지원되는 버전입니다.
2. http://www.postgresql.org/download/에서 적합한 버전의 PostgreSQL을 다운로드하고 설치합니다.
3. PgAdmin을 사용하여 PostgreSQL을 엽니다. PgAdmin 도구는 PostgreSQL 다운로드와 함께 제공됩니다.
* 
PgAdmin은 PostgreSQL 다운로드에 포함된 데이터베이스용 오픈 소스 관리 도구입니다. 이 도구는 전체 유니코드 지원, 신속, 다중 스레드 질의 및 데이터 편집 도구를 제공하며 모든 PostgreSQL 객체 유형을 지원합니다.
4. 새 사용자 역할을 생성합니다.
a. PostgreSQLx.x(<데이터베이스의 IP 또는 호스트 이름>:<PostgreSQL의 포트 번호>)를 마우스 오른쪽 버튼으로 클릭합니다. 예: PostgreSQLx.x (localhost:5432)
b. New Object>New Login Role을 선택합니다. Properties 탭의 Role name 필드에 PostgreSQL 관리를 위한 <PostgreSQL 사용자 역할 이름>을 입력합니다.
c. Definition 탭의 Password 필드에 PostgreSQL 관리를 위한 고유하고 안전한 암호를 입력합니다(암호를 두 번 입력하라는 메시지가 표시됨).
* 
암호는 쉽게 추측할 수 없고, 알 수 없어야 하며, 공통 암호가 아니어야 합니다. 길이는 14자 이상이 되어야 하며 대문자, 소문자, 숫자 및 특수 문자가 조합되어야 합니다. 이 암호는 이후 단계에서 다시 입력해야 합니다.
5. 확인을 클릭합니다. 이 단계에서 작성된 사용자 역할 이름은 나중에 사용하기 위해 기억해 두십시오.
ThingWorx가 아닌 별도의 서버에 위치한 PostgreSQL 데이터베이스 구성
* 
이 단원은 개발 환경의 경우에는 선택 사항이지만 모든 생산 환경에서는 구현해야 합니다.
기본적으로 PostgreSQL 서버는 잠금 상태로 설치됩니다. 서버는 로컬 시스템에서만 연결을 수신합니다. ThingWorx가 PostgreSQL 서버와 통신하려면 PostgreSQL이 다른 사용자(ThingWorx 사용자, 기본값은 twadmin) 및/또는 다른 컴퓨터(별도의 서버에 설치된 ThingWorx)에서 연결을 수신하도록 몇 가지 구성을 변경해야 합니다.
이러한 단계를 위해 PostgreSQL 데이터 디렉터리가 있는 위치를 알아야 합니다. Windows에서 기본 데이터 폴더는 C:\Program Files\PostgreSQL\x.x\data입니다.
pg_hba.conf 파일을 수정하고 원하는 구성에 따라 다음 줄을 추가합니다.
모든 IPv4 주소를 연결하도록 허용하려면:
host all all 0.0.0.0/0 md5
특정 IPv4 주소만 연결하도록 허용하려면(<ipAddress>를 연결을 만드는 시스템의 IP 주소로 바꾸기):
host all all <ipAddress>/32 md5
모든 IPv6 주소를 연결하도록 허용하려면:
host all all ::0/0 md5
특정 IPv6 주소만 연결하도록 허용하려면(<ipv6Address>를 적절한 주소로 바꾸기):
host all all <ipv6Address>/128 md5
PostgreSQL 데이터베이스에 액세스해야 하는 시스템에 적합한 추가 여유 줄(개별 IP 또는 범위) 또는 서브넷 마스크를 사용하면 다른 조합도 가능합니다.
이 파일을 변경하려면 데이터베이스 서비스를 재시작해야 합니다.
* 
pg_hba.conf 파일을 구성하는 방법에 대한 자세한 내용은 공식 PostgreSQL 설명서를 참조하십시오.
PostgreSQL 데이터베이스 스크립트 구성 및 실행
PostgreSQL 데이터베이스 및 테이블 공간을 설정하려면 thingworxPostgresDBSetup 스크립트를 구성하고 실행해야 합니다.
1. 시스템 PATH 변수에 <postgres-installation>/bin 폴더를 추가합니다.
2. ThingworxStorage 폴더가 위치한 드라이브(기본적으로 루트 디렉터리에 있음)에 이름이 ThingworxPostgresqlStorage인 폴더를 생성합니다. 다음을 참고하십시오.
-d<databasename> 명령을 사용하여 폴더를 생성하는 경우 PostgreSQL 사용자를 사용할 필요가 없습니다.
-l 옵션을 존재하는 경로에 지정해야 합니다. 예: -l D:\ThingworxPostgresqlStorage. 스크립트는 사용자의 폴더를 생성하지 않습니다.
폴더에는 적절한 소유권과 액세스 권한이 있어야 합니다. 이 폴더는 PostgreSQL 서비스를 실행하는 동일한 사용자가 소유해야 하며 해당 사용자에게 전체 제어 권한을 지정해야 합니다. 이 사용자는 일반적으로 NETWORK_SERVICE이지만 사용자의 환경에 따라 달라질 수 있습니다.
3. ThingWorx 소프트웨어 다운로드 패키지에서 thingworxPostgresDBSetup 스크립트를 가져와 엽니다. ThingWorx 다운로드는 PTC 소프트웨어 다운로드에서 제공됩니다.
4. 필요한 경우 스크립트를 구성합니다. 아래 표의 옵션을 참조하십시오.
thingworxPostgresDBSetup 스크립트 옵션
옵션
매개 변수
기본값
설명
t 또는 -T
tablespace
thingworx
테이블 공간 이름
-t thingworx
-p 또는 -P
port
5432
PostgreSQL의 포트 번호
-p 5432
-d 또는 -D
database
thingworx
생성할 PostgreSQL 데이터베이스 이름
-d thingworx
-h 또는 -H
host
localhost
호스트 이름입니다.
-h localhost
-l 또는 -L
tablespace_location
/ThingworxPostgresqlStorage
필수 사항입니다. 데이터베이스 객체를 나타내는 파일이 저장된 파일 시스템의 위치입니다.
-l 또는 -L
-a 또는 -A
adminusername
postgres
관리자 이름
-a postgres
-u 또는 -U
thingworxusername
twadmin
데이터베이스에 쓰기 권한을 가진 사용자 이름입니다.
-u twadmin
5. 스크립트를 실행합니다.
모델/데이터 공급자 스키마 스크립트 구성 및 실행
PostgreSQL 모델/데이터 공급자 스키마를 설정하려면 thingworxPostgresSchemaSetup 스크립트를 구성하고 실행해야 합니다. 이 스크립트는 localhost에 설치된 PostgreSQL 인스턴스의 데이터베이스 아래에 공용 스키마를 설정합니다.
1. ThingWorx 소프트웨어 다운로드 패키지에서 thingworxPostgresSchemaSetup.bat를 가져옵니다. ThingWorx 다운로드는 PTC 소프트웨어 다운로드에서 제공됩니다.
2. 필요한 경우 스크립트를 구성합니다. 아래 표의 옵션을 참조하십시오.
thingworxPostgresSchemaSetup 스크립트 옵션
옵션
매개 변수
기본값
설명
-h 또는 -H
host
localhost
데이터베이스의 IP 또는 호스트 이름입니다.
-h localhost
-p 또는 -P
port
5432
PostgreSQL의 포트 번호입니다.
-p 5432
-d 또는 -D
database
thingworx
사용할 데이터베이스 이름입니다.
-d thingworx
-s 또는 -S
schema
public
사용할 스키마 이름입니다.
-s mySchema
-u 또는 -U
username
twadmin
데이터베이스 스키마를 업데이트할 사용자 이름입니다.
-u twadmin
-o 또는 -O
option
all
다음과 같은 세 가지 옵션이 있습니다.
all: 지정된 데이터베이스에 모델 및 데이터 공급자 스키마를 설정합니다.
model: 지정된 데이터베이스에 모델 공급자 스키마를 설정합니다.
data: 지정된 데이터베이스에 데이터 공급자 스키마를 설정합니다.
-o data
3. 스크립트를 실행합니다.
platform-settings.json 구성
1. Tomcat이 설치된 드라이브의 루트에 ThingworxPlatform 폴더를 만들거나 이 폴더를 가리키는 시스템 환경 변수를 설정합니다. 다음을 참고하십시오.
ThingWorx에서 해당 설정을 저장하는 위치를 지정하려면 THINGWORX_PLATFORM_SETTINGS 환경 변수를 원하는 위치로 설정하면 됩니다. THINGWORX_PLATFORM_SETTINGS에서 참조하는 폴더가 있고 Tomcat 사용자가 이 폴더에 대해 쓰기 가능한지 확인하십시오. 이 환경 변수는 시스템 환경 변수의 일부로 구성되어야 합니다.
ThingWorx 서버에서 이 폴더에 대한 읽기/쓰기 권한이 없는 경우 이 서버를 시작할 수 없습니다.
2. platform-settings.json 파일을 ThingworxPlatform 폴더에 배치합니다. 이 파일은 소프트웨어 다운로드에서 제공됩니다.
3. platform-settings.json을 열고 필요한 대로 구성합니다. platform-settings.json 구성 세부 정보의 구성 옵션을 참조하십시오.
* 
PostgreSQL 서버가 ThingWorx 서버와 동일하지 않고 사용자의 ThingWorx 설치에 문제가 있는 경우 사용자의 Tomcat 로그 및 platform-settings.json 파일을 검토하십시오. 기본 설치는 두 서버 모두 동일한 시스템에 있다고 가정합니다.
(선택 사항) PostgreSQL 암호 암호화
암호 암호화에 나오는 단계를 수행하여 암호를 암호화합니다.
(선택 사항) PostgreSQL 클라이언트 패키지 설치 및 PostgreSQL 사용자
클라이언트 시스템에서 PostgreSQL 서버로 PostgreSQL 명령을 실행하려면 PostgreSQL 사용자가 해당 작업을 수행합니다. 클라이언트 컴퓨터에 postgresql-client-x.x 패키지를 설치할 수 있습니다. 설치 방법에 대한 자세한 내용은 PostgreSQL 배포 설명서를 참조하십시오. 이 패키지는 psql과 같은 일부 관리 도구를 제공합니다.
ThingWorx 설치
ThingWorx 설치로 이동하십시오.