postgresql The world's most advanced open source database

한국 포스트그레스큐엘 홈페이지 :PostgreSQL KR

https://wiki.postgresql.org

 

PostgreSQL 9.2.x // 다운로드 및 압축 풀기..........생략
 

- PostgreSQL 설치 방법을 검색해보면 runas /user:postgres cmd 해서 사용자 계정을 따로 만들던데 만들지 않아도 된다.

 

[ x ] . DB 초기화 // initdb.exe -D "DATA DIRECTORY" -E unicode --no-locale

 

- 이미 생성되어 있는 DIRECTORY 라면 안된다.

- DATA DIRECTORY 는 꼭 PostgreSQL\data 가 아니라도 어디든 상관 없다.

- 첫 설치시에는 DB 초기화를 꼭!!! 해주어야 한다.

 

[ x ] . 서비스 등록 // pg_ctl.exe register -N PostgreSQL -D "위에서 초기화한 DATA DIRECTORY"

 

- 보통 -U 사용자 이름 -P 비밀번호 옵션을 주던데 생략하면 deafult 로 Administrator 가 사용된다.

- pg_ctl: could not open service manager 라는 오류가 나온다면, 명령창을 관리자 권한으로 실행해서 한다.



 

[ x ] . 서비스 시작 // net start PostgreSQL

 

[ x ] . 서비스 중지 // net stop PostgreSQL

 

[ x ] . 서비스 제거 // pg_ctl.exe unregister -N PostgreSQL

 

[ x ] . 마지막으로 pgAdmin III 에서 다음과 같이 새 서버를 추가해 준다.

 

- 서비스 항목에 PostgreSQL , postgres 등등 넣어 보았지만 데이터베이스 연결 실패가 뜬다. 공란으로 두니 성공.

- 메뉴얼을 보면 pgAdmin will automatically discover services running on your local machine. 라고 되어있다.

- 즉, 자동으로 잡아준다. 그러니 뻘짓하지 말고 공란으로 놔둔다.

 

 

 

 

[ x ] . 통째로 BACKUP 한 DATA DIRECTORY 복구 방법.

 

- 위에서 initdb.exe 하여 생성한 DATA DIRECTORY 를 비운다.

- 통째로 BACKUP 해둔 DATA DIRECTORY 를 통째로 복사한다.

- pg_tblspcpg_twophase (빈) DIRECTORY 가 없으면 생성해 준다.

- 복구 되지 않고 에러가 뜬다면 메모장을 열어 "PostgreSQL\bin\logfile" 파일 확인.

 

[ x ] . DATA DIRECTORY 통째로 BACKUP. - BATCH FILE -

 

- 통째로 BACKUP 하고, pg_dumpall.exe 를 사용하여 Poker_database_info_by_PostgreSQL.txt 에 또 BACKUP 한다.

 

@ECHO OFF

REM 경로 끝 역슬래쉬(\)없어야한다. ↓↓↓↓↓↓

SET PostgreSQL_bin=C:\postgresql-9.2.4-1-windows-x64-binaries\bin
SET PostgreSQL_DATA=F:\Project - PostgreSQL DATABASE
SET DATA_BACKUP_DIR=- PostgreSQL DATABASE

 

IF NOT EXIST "%PostgreSQL_bin%" (
 ECHO "%PostgreSQL_bin%" 폴더가 존재하지 않습니다.
 PAUSE
 EXIT
)

 

IF NOT EXIST "%PostgreSQL_DATA%" (
 ECHO "%PostgreSQL_DATA%" 폴더가 존재하지 않습니다.
 PAUSE
 EXIT
)

 

IF EXIST "%DATA_BACKUP_DIR%" ( RMDIR "%DATA_BACKUP_DIR%" /S /Q )
MKDIR "%DATA_BACKUP_DIR%"
CD "%DATA_BACKUP_DIR%"
net stop PostgreSQL
XCOPY "%PostgreSQL_DATA%\*.*" "." /A /F /H /Y /C /R /E
net start PostgreSQL
CD ..
DEL "Poker_database_info_by_PostgreSQL.txt" /F /Q
"%PostgreSQL_bin%\pg_dumpall.exe" -O > "Poker_database_info_by_PostgreSQL.txt"

 

[ x ] . Apatch Tomcat PostgrSQL JDBC Driver - http://jdbc.postgresql.org/

 

- 다운로드 후 .jar 파일을 "아파치/lib" 폴더에 넣어주면 된다.

 

1 대의 컴퓨터에서 여러개의 PostgreSQL 띄우는 방법

 

- 위의 설치 방법 그대로 File System DATABASE 를 생성한후 해당 Directory 에 있는 postgresql.conf 파일에서 port 를 변경해 주면 된다. 그러면 port 만 다르고 모든게 똑같다.


"pg_ctl.exe" register -N "name1" -o "-p 54117" -D "db dir1"

"pg_ctl.exe" register -N "name2" -o "-p 54108" -D "db dir2"

"pg_ctl.exe" register -N "name3" -o "-p 54105" -D "db dir3"

"pg_ctl.exe" register -N "name4" -o "-p 54104" -D "db dir4"

"pg_ctl.exe" register -N "name5" -o "-p 54099" -D "db dir5"


- postgresql.conf 파일의 port 를 변경하지 않고 위의 빨강 부분같이 서비스 등록시 포트 지정해 주니 되더라. (version 9.6)

- DATABASE File 을 통째로 복사해 왔다면 postmaster.opts, postmaster.pid 파일을 삭제해 주자. 안그러면 서비스 시작에서 오류가 발생한다.

'DB & SQL & web' 카테고리의 다른 글

[PostgreSQL] INSERT INTO SELECT  (0) 2013.02.15
[jsp] long 쪼개기? 피식~  (0) 2013.02.02
[PostgreSQL] 조건식  (0) 2012.10.30
[PostgreSQL] 기본적인 쿼리 모음.  (0) 2012.10.29
MySQL - 유니코드  (0) 2012.09.26