본문 바로가기
PostgreSQL

Window에 PostgreSQL 설치

by 게으른공장장 2020. 6. 14.

PostgreSQL을 설치해 보도록 하자.

 

(참고로 PostgreSQL의 발음은 '포스트그레스큐엘' 이다. 이하 PGsql 혹은 PG라고 표기할 수 있다.)

 

먼저 홈페이지에서 원하는 버젼의 DB설치파일을 다운받는다

 


PostgreSQL 설치파일 다운로드

www.postgresql.org/download/ 

PostgreSQL: Downloads

Downloads PostgreSQL Core Distribution The core of the PostgreSQL object-relational database management system is available in several source and binary formats. Binary packages Pre-built binary packages are available for a number of different operating sy

www.postgresql.org

 

 

 

 

 

우리는 윈도우용 PGsql을 설치 할 예정이므로 윈도우를 선택한다.

다른 OS가 필요하다면 해당하는  OS를 선택하면 된다.

 

설치는 두가지 방법이 있다.

1. 인스톨러를 통해 설치하는 방법

2. zip archive를 다운로드하여 명령어로 수동 설치하는 방법

 

 

 

 

 

 

오늘 다루어볼 설치방법은 Zip Archive이다.

테스트를 목적으로 하거나 메인서버를 구축하는 환경이라면 인스톨러도 무방하나, DB설치 까지 포함된 솔루션을 제작한다면 명령어로 설치하는 방법을 익히는것이 유리하다.


1. 인스톨러를 통한 설치 (설명은 생략 )

인스톨러를 통한 설치가 필요한 경우라면 "Download the Installer"를 선택한 후 본인의 환경에 맞는 설치파일을 다운로드하여 실행하면 된다.

 

 

 

 

 

 

2. Binaries 설치

원하는 버젼의 설치파일을 다운로드 한다.

이 포스팅에서는 12.3 Win 64Bit로 진행하도록 한다.

 

 

 

 

압축파일이 다운로드 되면 압축을 풀어준다.

압축폴더 내에 "pgsql"폴더가 있을것이다.

DB구동 파일이 포함되어 있으므로 원하는 위치로 옮긴다.

필자는 D:\pgsql 위치에 놓도록 하겠다.

 

 

 

 

커맨드 창을 열어 pgsql/bin 폴더로 이동한 후 아래의 명령어를 순차적으로 입력하여 데이터베이스를 구동한다.

 

 

 

 

 

1) 최고 권한 계정을 생성한다. 

현재 사용자 권한을 사용해도 되지만,  접속 계정과 마스터 계정을 분리하는 것이 보안에 유리하므로 최고권한계정을 생성하는것을 권장한다.

net user postgres password /add

ID : postgres   PW : password 

위와같은 계정이 생성된다. 원하는 계정을 만들자.

 

2) 데이터베이스를 초기화한다.

d:\pgsql\bin\initdb.exe -D d:\pgsql\data -E unicode --no-locale -U postgres

-D d:\pgsql\data : 데이터가 생성되는 경로를 지정. 이때 data폴더는 자동으로 만들어지며 이미 같은 이름의 폴더가 존재하는 경우 초기화가 실패하니 유의하자.

-U postgres : 위에서 생성한 계정 입력

 

 

 

 

 

3) 서비스를 생성한다.

d:\pgsql\bin\pg_ctl.exe register -N PgSql -D d:\pgsql\data

PostgreSQL 은 윈도우 서비스 형태로 구동된다.

-N PgSql : 서비스명을 PgSql로 지정

-D d:\pgsql\data : 위에서 초기화한 데이터베이스 경로를 지정한다.

 

4) 서비스를 시작한다.

net start PgSql 

 

 

 

 

 

5) 서비스가 잘 생성되었는지 확인한다.

5-1) 지정한 위치의 폴더 (data)가 생성되었는지 확인한다.

initDB.exe 가 잘 실행되었다면 지정한 데이터 폴더가 생성된다.

 

 

 

 

5-2) 서비스가 실행중인지 확인한다.

 

 

 

PgSql (위에서 입력한 서비스명)이 실행중 상태이면 정상이다.

   

6) 환경설정

data 폴더를 열어보면 10여개의 폴더와 conf 파일을 볼 수 있다.

이 폴더가 데이터베이스 저장소이며 conf 파일이 환경설정 파일들이다.

데이터를 이전할 때 백업을 통한방법으로 이전할 수도 있겠지만, PgSql 서비스를 중지하고 data폴더 자체를 이동하는 방법도 사용할 수 있다. 위와같은 방법으로 이전하면, 데이터와 설정되어있던 환경까지 한번에 옮기는 것이 가능하다.

.conf 파일을 수정하여 환경설정한다. conf파일에 대한 내용은 또 상당히 길어지므로 이 포스팅에서는 각각의 역할만을 설명하고 다음 포스팅에서 다루도록 하겠다.

 

pg_hba.confip대역별 접근권한을 설정한다. (Host Base Authentication)
pg_ident.conf사용자 계정별 접근권한을 설정한다. (pg_hba.conf method설정에 따라)
postgresql.conf
다음 포스팅에서 상세히 다뤄보기로 한다. 기본포트는 5432

 

댓글