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 4690 게시물 읽기
No. 4690
[질문]pgaccess접속을 위한 postgresql start문 변경?
작성자
박병호(bhpark70)
작성일
2003-05-01 10:03
조회수
1,439

밑 pgaccess로 postgresql에 접속하는 거에 대해서 여러번

질문했었습니다.

그리고 수동으로 postgresql을 시작할 때 -i 옵션을 주니까

pgaccess로 postgresql에 접속을 할 수 있었습니다.

 

그런데 문제는 리눅스 부팅할 때마다 수동으로 할 수는 없고

원래 있던 postgresql 시작 스크립트를 수정할려고 하니

잘 안됩니다.

/etc/rc.d/init.d 디렉토리에 있는 postgresql이라는 스크립트를

열어서 start() 를 보니 다음과 같았습니다.

 

start(){

PSQL_START=$"Starting postgresql service: "

 

# Check for older PGDATA location.

if [ -f /var/lib/pgsql/PG_VERSION ] && [ -d /var/lib/pgsql/base/template1 ]

then

export PGDATA=/var/lib/pgsql

else

export PGDATA=/var/lib/pgsql/data

fi

 

# Check for the PGDATA structure

if [ -f $PGDATA/PG_VERSION ] && [ -d $PGDATA/base ]

then

# Check version of existing PGDATA

 

if [ `cat $PGDATA/PG_VERSION` != '7.2' ]

then

SYSDOCDIR="(Your System's documentation directory)"

if [ -d /usr/doc/postgresql-$PGVERSION ]

then

SYSDOCDIR=/usr/doc

fi

if [ -d /usr/share/doc/postgresql-$PGVERSION ]

then

SYSDOCDIR=/usr/share/doc

fi

if [ -d /usr/doc/packages/postgresql-$PGVERSION ]

then

SYSDOCDIR=/usr/doc/packages

fi

if [ -d /usr/share/doc/packages/postgresql-$PGVERSION ]

then

SYSDOCDIR=/usr/share/doc/packages

fi

echo

echo -e $"An old version of the database format was found.\nYou need to upgrade the data format before using PostgreSQL.\nSee $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information."

exit 1

# This doesn't seem to do anything useful...

# else

# if echo "$TYPESET"|grep "declare -f success ()" >/dev/null

# then

# success "$PSQL_CHECK"

# else

# echo " [ OK ]"

# fi

# echo

fi

 

# No existing PGDATA! Initdb it.

 

else

echo -n $"Initializing database: "

if [ ! -d $PGDATA ]

then

mkdir -p $PGDATA

chown postgres.postgres $PGDATA

fi

# Make sure the locale from the initdb is preserved for later startups...

[ -f /etc/sysconfig/i18n ] && cp /etc/sysconfig/i18n $PGDATA/../initdb.i18n

# Just in case no locale was set, use en_US

[ ! -f /etc/sysconfig/i18n ] && echo "LANG=en_US" > $PGDATA/../initdb.i18n

# Is expanded this early to be used in the command su runs

echo "export LANG LC_ALL LC_CTYPE LC_COLLATE LC_NUMERIC LC_CTYPE LC_TIME" >> $PGDATA/../initdb.i18n

# Initialize the database

su -l postgres -s /bin/sh -c "/usr/bin/initdb --pgdata=/var/lib/pgsql/data > /dev/null 2>&1" < /dev/null

[ -f $PGDATA/PG_VERSION ] && echo_success

[ ! -f $PGDATA/PG_VERSION ] && echo_failure

echo

fi

 

# Check for postmaster already running...

pid=`pidof -s postmaster`

if [ $pid ]

then

echo $"Postmaster already running."

else

#all systems go -- remove any stale lock files

rm -f /tmp/.s.PGSQL.* > /dev/null

echo -n "$PSQL_START"

 

=========================

su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl -D $PGDATA -p /usr/bin/postmaster start > /dev/null 2>&1" < /dev/null

==========================

 

sleep 1

pid=`pidof -s postmaster`

if [ $pid ]

then

success "$PSQL_START"

touch /var/lock/subsys/postgresql

echo $pid > /var/run/postmaster.pid

echo

else

failure "$PSQL_START"

fi

fi

}

 

스크립트는 잘 모르지만 뚫어지게 보면 ==== 표시 가운데가 결정적으로

postgresql을 시작하는 부분이고 요기에 -i 옵션을 주어야 할 것 같은데

적당한데 -i 옵션을 넣으면 시작을 하지 않습니다.

 

wrox 에서 나오는 beginning database with postgresql 을 보면

 

su -l postgres -c "nohup /usr/local/pgsql/bin/postmaster -i -D /usr/local/pgsql/data 줄줄줄

 

이라고 나옵니다.

 

차이는 위에 pg_ctl을 사용했고 아래는 postmaster를 사용했는데

이건 어떤 차이가 있는 건지 또 궁금하구요?

 

암튼 -i 옵션을 어떻게 넣으면 좋을까요?

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

-o "-i" -D .......

입니다.

l4nuxer님이 2003-05-01 22:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4695[질문] insert 시에 이미 존재하는 값이라면 update 를 하고 싶을때.. [1]
김강린
2003-05-07
1413
4694[질문]php에서 db연결에러 [2]
이정호
2003-05-02
3758
4692[질문]postmaster가 실행할 때 pg_hba.conf?
박병호
2003-05-01
1568
4690[질문]pgaccess접속을 위한 postgresql start문 변경? [1]
박병호
2003-05-01
1439
4691┕>Re: [질문]pgaccess접속을 위한 postgresql start문 변경?
박병호
2003-05-01 18:21:48
1312
4693┕>Re: [질문]pgaccess접속을 위한 postgresql start문 변경? - (정답)
l4nuxer
2003-05-01 22:29:25
1585
4689웹호스팅 인트라넷 구축에 대한 질문입니다..
최강석
2003-04-30
1168
4688[질문]자료 복구 명령어 pg_restore ? [3]
대훈
2003-04-30
2907
4687[질문]postgresql 시작 과정이 어떻게 되지요? [2]
박병호
2003-04-29
1353
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다