database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Tutorials 5755 게시물 읽기
No. 5755
Win32용 PostgreSQL 사용하기
작성자
김상기(ioseph)
작성일
2004-12-23 22:21ⓒ
2004-12-23 22:22ⓜ
조회수
12,964
Win32용 PostgreSQL 사용하기
작성자: 김상기(ioseph)

설치

http://pgfoundry.org/projects/pginstaller 페이지에서 win32 용 binary 설치 파일을 다운로드한다.

다음 압축을 풀고, 설치파일을 실행하면, 일반적인 설치화면이 나타나며, 그 다음부터는 여느 프로그램 설치방법 처럼 디렉토리를 지정하고, 설치할 프로그램을 선택하고, 그 다음 작업들을 진행하면 된다.

한가지 주의할 점은 한국어 문제를 원할히 해결하기 위해서 로케일은 C로 데이터베이스 기본 인코딩은 SQL_ASCII로 지정하고 설치하면 됩니다.

데이터베이스 서버를 윈도우즈 서비스로 등록해서 운영하고자 한다면, 다음 몇가지 규칙이 지켜져야한다.

  • 시스템 관리자 권한이 없는 시스템의 일반 사용자를 하나 만들고,
  • 그 사용자가 서비스를 실행할 수 있는 권한이 할당 되어있고,
  • 설치 작업을 할 때, 이 정보를 그대로 입력해 주어야한다.
이부분에 대한 자세한 이야기는 http://database.sarang.net/?inc=read&aid=5715&criteria=pgsql 문서를 참조한다. PostgreSQL 이야기이기 보다는 윈도우즈 운영에 관계되는 이야기임으로 여기서는 생략한다.


unicode 데이터베이스일 경우 psql 오류 피하기.


윗 pginstaller 에서 제공하는 설치파일로 설치할 경우, 기본적으로 psql 프로그램의 메시지가 한글로 보이는데, 이것이 unicode 인코딩의 데이터베이스일 경우에는 여러 가지 작업들에서 문자코드 변환을 못해서 오류를 일으킨다. 해결 방법은
Welcome to psql 8.0.0rc2, the PostgreSQL interactive terminal.

사용법:  copyright 저작권 정보
         h SQL 명령어 도움말
         ? 내장 명령어 도움말
         g 또는 명령 끝에 ; 쿼리 실행
         q 마침

template1=# c mydb
"mydb" 데이터베이스로 접속했습니다.
mydb=# encoding uhc
mydb=# show client_encoding;
 client_encoding
-----------------
 uhc
(1건 있음)

처럼 클라이언트 인코딩을 uhc (확장완성형) 코드로 지정하면 된다.


pgAdmin III에서 몇몇 기능을 제대로 이용하기 위한 postgresql.conf 파일 수정


stats_command_string = true
stats_block_level = true
stats_row_level = true

이 세줄의 값이 기본값에서 윗 처럼 바뀐다. 하나는 서버 상태를 모니터링 하는 대화상자의 결과를 제대로 보이기 위함이고, 다른 둘은 각 객체들의 사용량 통계자료를 제대로 보기 위함이다. (서버 부하를 줄이고자 한다면 이런 기능은 꺼두는 것도 좋은 방법이다)


이벤트로그로 서버 로그를 남기기


postgresql.conf 파일에서
log_destination = 'eventlog'
부분을 지정해준다.

그다음, PostgreSQL 프로그램이 설치된 디렉토리의 lib 디렉토리 안에 있는 pgevent.dll 파일을 regsvr32 프로그램을 이용해서 등록해 둔다. cmd 창에서
C:WINDOWS>cd "Program FilesPostgreSQL8.0.0-rc2lib"

C:Program FilesPostgreSQL8.0.0-rc2lib>c:windowssystem32regsvr32.exe pgevent.dll

다음 서버를 재가동하고, 이벤트로그의 응용프로그램 코너를 보면 로그가 그쪽으로 저장됨을 살펴 볼 수 있다.


autovacuum 기능을 서비스로 등록해서 사용하기.


bin 디렉토리에 보면, pg_autovacuum.exe 파일을 찾을 수 있을 것이다. 이것은 8.0 버전에서 새롭게 추가된 auto vacuum 기능을 제공해 주는 것으로, 서버 데몬 프로그램처럼 항상 실행되어 있으면서 수시로 서버 상태를 체크해서 vacuum 작업이 필요하다고 판단되면 스스로 그 작업을 진행하는 프로그램이다.

자세한 사용법은 cmd 프로프트에서 pg_autovacuum -h 명령으로 도움말을 살펴볼 수 있다.

여기서는 이 프로그램을 윈도우즈 서비스로 등록해서 더이상 신경 안쓰는 방법을 소개하겠다.

서비스로 등록하는 옵션은 -I

pg_autovacuum -I -U postgres -P 0000 

명령을 사용한다. 서비스를 삭제하려면, -R

이때, -U 옵션은 디비 서버에 접속할 PostgreSQL 슈퍼유저이름이고, -P 옵션은 그 사용자의 비밀번호이다. 기본적으로 저렇게 호출되면, 로컬호스트의 디비서버로 접속한다.


마무리


이로써 win32 기반에서 PostgreSQL 서버를 사용하는 방법은 개략적으로나마 살펴보았다.

예전 유닉스 환경에서 사용보다 한결 쉬워졌다. 그리고 기능도 많이 확장되었다.

사용에 문제가 있으면, 언제든지, http://database.sarang.net 홈페이지의 PostgreSQL 섹션을 통해서 그 문제점을 알리고, 해결책을 찾기 바란다.
[Top]
No.
제목
작성자
작성일
조회
57668.0에서 바뀌는 postgresql.conf 설정값들
김상기
2004-12-27
9881
5759테이블스페이스 이야기
김상기
2004-12-26
10422
57568.0에서 새롭게 등장한 generate_series 함수 활용하기. [1]
김상기
2004-12-24
8322
5755Win32용 PostgreSQL 사용하기
김상기
2004-12-23
12964
5578외래키 액션 연기
신기배
2004-10-06
6307
5568contrib/pgbench pgsql 벤치마크 유틸
신기배
2004-10-01
6544
5567contrib/intarray int4 배열 GiST 인덱스 사용하기
신기배
2004-10-01
5823
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다