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 Q&A 5741 게시물 읽기
No. 5741
제가 postgres 설치한 방법에 잘못이 있나요?
작성자
이봉구
작성일
2004-12-20 18:21
조회수
5,915

제가 postgreSQL를 설치한 방법입니다.

어디가 문제인지

pg_ctl -D /home/pgsql/data -l logfile start 으로 실행시에는

/home/pgsql/bin/pg_ctl: line 354: logfile: 그런 파일이나 디렉토리가 없음 --> 이런 에러가 나오고..

 

pg_ctl -D /home/pgsql/data start 으로 실행시에는

밑에와 같은 메세지가 뜨고 데몬은 올라오더군요...

LOG: could not resolve "localhost": name resolution에서 일시적인 실패 --> 이부분이 걸려서요..
LOG: database system was shut down at 2004-12-20 17:44:46 KST
LOG: checkpoint record is at 0/9B0B8C
LOG: redo record is at 0/9B0B8C; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 536; next OID: 17142
postmaster successfully started
[pgsql@test pgsql]$ LOG: database system is ready

 

 

제가 설치한 순서입니다.

# pwd

/usr/local/src/server

# tar xzvf postgresql-7.4.6

# cd postgresql-7.4.6

# ./configure --prefix=/home/pgsql ?-enable-multibyte-EUC_KR

# make; make install

# useradd pgsql

# passwd pgsql

# mkdir /home/pgsql/data

# chown pgsql.pgsql /home/pgsql/data

# chmod 700 /home/pgsql/data

# cd /home/pgsql

# vi .bash_profile

PATH=$PATH:/home/pgsql/bin

PGLIB=/home/pgsql/lib

PGDATA=/home/pgsql/data

export PATH PGLIB PGDATA

# su - pgsql

$ source /home/pgsql/.bash_profile

$ initdb -D /home/pgsql/data

여기까지 입니다. postgres 사용자을 인증하고 기초 디비를 만드는 것까지는 정상적으로 되는데요..

실행시...

pg_ctl -D /home/pgsql/data -l logfile start

이 방법으로 하면 위에서 말씀드렸듯이 에러가 나오고요..

pg_ctl -D /home/pgsql/data start

이방법으로 할때는 로그파일에서 일시적인 실패라는 메세지가 나오네요..

제가 설치한 방법이 잘못된건가요..

다른 문서와는 다른 점이라면

사용자를 postgre 가 아닌 pgsql로 한거 외에는 없는거 같은데요...

문제점을 가르쳐 주시면 감사하겠습니다.

 



이 글에 대한 댓글이 총 6건 있습니다.

pg_ctl -D /home/pgsql/data -l logfile start 으로 실행 했을 때 나오는 문제는 아마도 파일 시스템의 권한 문제 아닐지요.

위의 명령을 실행한 디렉토리에서 파일 생성 권한이 있는지 한번 확인해 보십시오.

그리고 두번째 localhost문제는 /etc/hosts 파일에 localhost에 대한 ip가 등록되어 있는지 확인해 보세요. 만약 없다면

 

127.0.0.1 localhost

 

이렇게 한줄을 맨 앞에 넣어 주세요.

 

그리고 환경 변수 PGDATA를 만들어 줬으니 pg_ctl할 때에 -D /home/pgsql/data 라는 옵션은 생략 하셔도 됩니다.

박성철(gyumee)님이 2004-12-20 19:58에 작성한 댓글입니다.
이 댓글은 2004-12-20 20:00에 마지막으로 수정되었습니다.

성철님 답변해주셔서 대단히 감사합니다.

성철님 말씀대로 파일생성 권한을 변경해서 첫번째 문제는 해결했습니다. 제가 바보였네요..

그런데 아직 두번째 문제.. localhost 일시적인 실패 문제는

해결이 되지 않네요.. hosts 파일에 성철님 말씀대로 넣었는데도...

logfile을 보니 계속하여 같은 메세지가 올라 오더군요..

음.. 정말 이상해요..

혹시 다른 방법이 있을까요?

 

 

이봉구님이 2004-12-20 21:06에 작성한 댓글입니다. Edit

localhost문제는 전형적인 DNS문제인듯 합니다.

(DSN이랑 비슷하군요...^^;)

 

127.0.0.1이 localhost라는것은 알아도

localhost가 뭘의미하는지 모르는데에서 나오는 문제 ( 당연히 127.0.0.1 인데 말이죠)

 

테스트삼아 nslookup 에서

localhost를 찾아보라고 해서 127.0.0.1을 못찾으면

 

DNS를 손보시거나...해야 할 듯 합니다.

혹시 테스트용 PC에 설치하시면서 DNS부분 건너뛰고 설치 하셨나요...^^;

김영호(icepage)님이 2004-12-21 14:44에 작성한 댓글입니다.

아직 해결이 안됐군요.

종종 /etc/hosts 파일에 localhost를 등록해줘도 named server에서 찾는 경우가 있더군요.

/etc/nsswitch.conf 파일에 hosts: 엔트리가 어떻게 되어 있나요?

저같은 경우에는

 

hosts: files dns

 

이렇게 되어 있습니다.

 

/etc/hosts 파일을 먼저 찾고 dns를 다음에 찾아보겠다는 설정이죠.

 

참고로 제 시스템은 linux입니다. solaris에서도 같은 방식으로 되는 것 같구요. 다른 unix 시스템은 모르겠습니다. -.-;;

박성철(gyumee)님이 2004-12-21 15:38에 작성한 댓글입니다.

영호님과 성철님의 답변 정말 감사합니다.

 

지금 제가 설치 중인 서버중인 서버는 TEST용이 아니라..

 

현재 구동되고 있는 서버에서 서버이전을 위해 새로 구입한

 

서버에 세팅을 하고 있는 실정입니다.

 

이전 서버를 제가 설치한게 아니라 설치과정에 관한 자료가 전혀 

 

없고.. postgresql을 처음 설치해 보는 거라 많이 힘드네요..

 

먼저 말씀드리자면..

 

DNS 서버는 설치하지 않았습니다..  이 서버 이외에 따로 DNS서버가

 

있기에 bind 를 설치하지 않았습니다.

 

imap를 설치후 테스트를 했을때..즉

 

telnet localhost 110

 

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

+OK POP3 localhost 2003.85 server ready

 

이런 식으로 정상적으로 localhost에 접속이 되더군요..

 

물론 postgresql 설치 전에 설치했었구요..

 

성철님 말씀대로 /etc/nsswitch.conf 파일을 열어 보니..

 

제 경우도

hosts: files dns

로 되어 있네요..

 

이 에러가 나면서 생긴 문제가 웹프로그램과 DB를 덤프 한후 실행을 하니..

 

문제가 발생하더군요..

 

디비에 접속시 이전 서버에서 설정한

 

@pg_connect("host=$db_host user=$db_user password=$db_pass dbname=$db_name");

이부분에서 $db_host를 새로운 서버 아이피로 잡아도 접속이 되지가 않더라구요..

 

그래서

@pg_connect("user=$db_user password=$db_pass dbname=$db_name");

이런식으로 변경을 했더니..접속이 되더군요..

 

pg_hba.conf 파일의 문제가 아닌가 해서

host all 아이피 trust

를 등록해 보았지만 마찬가지였습니다.

 

bind를 설치해야 할까요? 그 문제가 아닌거 같은데...

만일 그렇다면 test 서버에 postgresql를 설치하면 모두 이런 현상이 나와야 하는거

아닌가요..

 

다시 한번 친절하신 답변에 감사드립니다..

 

 

 

이봉구님이 2004-12-21 17:12에 작성한 댓글입니다. Edit

bind를 꼭 설치해야 하는 것은 아닙니다. 다른 DNS를 사용하더라도 설정만 바로 되어 있으면 상관 없습니다.

 

혹시나 해서 말씀드려보는건데요. postgresql.conf에서 tcpip_socket이 true로 되어 있나요? 이것이 true가 아니거나 postmaster에 -i 옵션을 주지 않으면 tcp/ip socket이 열리지 않거든요. 그래서 ip로는 접속할 수 없습니다.

박성철(gyumee)님이 2004-12-21 17:53에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5746http://www.postgresql.org/ 리뉴얼 [3]
신기배
2004-12-22
2280
5743혹시 MSSQL의 syscolumns 나 오라클의 user_tab_cols 와 같은 기능을 하는 포스트그래스 예약어 아시는분 계세요?? 컬럼정보를 가지고 오는... [3]
정연우
2004-12-22
3159
5742DB 테이블의 필드 갯수를 알 수 있습니까?? [5]
정연우
2004-12-22
2367
5741제가 postgres 설치한 방법에 잘못이 있나요? [6]
이봉구
2004-12-20
5915
5740여러개의 프로세스가 동시에 Insert/Delete/Update 연산 수행시... [4]
권진호
2004-12-20
3336
5737gmake에 대해서 질문 잇는데요... [1]
박상욱
2004-12-17
2392
5736win32 LANG 값 설정 방법은? [11]
김상기
2004-12-16
7543
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다