728x90
반응형
지난번 솔라리스10에 postgreSQL을 패키지로 설치를 해보았다..
몇가지 문제가 발생하여 8.3.5 버젼으로 업그레이드도 겸사겸사 해보았다..

일단 지난번에 설치시 모르고 설치했던 몇가지 문제가 있었는데..
솔라리스10은 기본적으로 postgreSQL과 MySQL이 패키지로 설치가 되어있다.

이부분에서 문제가 발생하는것이 아무리 postgreSQL을 8.3.x 버전으로 설치해도 기존 설치된 패키지를 읽어서 8.1.11이 구동된다는 것이다. 

정말로 "pkginfo | grep postgr"을 실행하면 postgreSQL 패키지들이 검색이 된다.
이렇게 검색된 패키지는 "pkgrm [패키지명]" 을 이용하여 먼저 삭제를 하는 것이 좋다.
(8.1.11에 관한 패키지만 삭제하여도 무방한듯...8.2 버전대도 설치가 되어있었는데..이건 뭔지 잘 모르겠다..)

이제 설치를 시작하기위해서 아래 사이트에서 최신 버전을 다운 받자.


다운받은 파일을 압축을 풀자.

#gunzip postgresql-8.3.5.tar.gz

#tar xvf postgresql-8.3.5.tar

그리고 생성된 postgresql-8.3.5 로 이동하여 configure, make, makeinstall을 해준다.

#cd postgresql-8.3.5
#configure --prefix=/usr/local/pgsql
#make
-> All of PostgreSQL successfully made. Ready to install. 메세지가 나오면 성공
#make install
-> PostgreSQL installation complete. 메세지가 나오면 성공

postgreSQL을 관리할 그룹및 유저를 추가해준다. 
단, 그룹추가전에 그룹이 등록되어있는지 먼저 확인후, 없다면 추가해준다.

#groupadd postgres

유저또한, 추가전에 유저가 등록되어있는지 먼저 확인후, 없다면 추가해준다.

#useradd -g postgres -d /usr/local/pgsql -s /bin/bash postgres

다음으로는 인스톨이 성공한 /usr/local/pgsql 폴더의 소유자를 postgres에게 부여한다.

#chown -R postgres:postgres /usr/local/pgsql

postgreSQL에서 data가 만들어질 공간을 만들어주고 이것 역시 postgres에게 소유권을 부여한다.

#cd /usr/local/pgsql
#mkdir data
#chown postgres:postgres data

postgres 계정으로 로그인을 한뒤, PATH 및 lib 경로를 지정해준다.
(난 postgres의 쉘을 bash로 하였다..)

#vi .bash_profile
PATH=/usr/bin:/usr/ucb:/etc:/usr/local/bin:/usr/sbin:/usr/ccs/bin:/usr/local/pgsql/bin:.
LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
JAVA_HOME=/usr/java
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
MANPATH=/usr/share/man:/usr/dt/man:/usr/local/man/usr/openwin/share/man:/usr/manexport PATH EDITOR MANPATH LD_LIBRARY_PATH JAVA_HOME CLASSPATH
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$PGLIB

위 내용을 기입하고 저장한다.

그리고 저장한 profile을 적용하여 준다.

#source ~/.bash_profile

이제 DB를 초기화 해보도록 하자~

#cd bin
#initdb -D /usr/local/pgsql/data

Success. You can now start the database server using:
    postgres -D /usr/local/pgsql/data
or
    pg_ctl -D /usr/local/pgsql/data -l logfile start

-> 마지막에 위와같은 메세지가 나오면 성공이다.

DB를 실행하도록 하자~

#postmaster -D /usr/local/pgsql/data/ &

정상적으로 동작하는지 알아보기 위해 postgreSQL로 접속해보도록 한다.

#psql template1



이로써 모든 설치가 완료되었다.

------------------------------ 참고 팁 --------------------------------
* 버전확인
#postmaster --version

* 외부접속 설정
#vi pg_hba.conf
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
host    all         all         192.168.130.0/24          trust   <--192.168.130.xxx 의 아이피는 접속 허용
host    all         all         192.168.128.0/24          trust   <--192.168.128.xxx 의 아이피는 접속 허용

* 특정 ip만을 접속 할경우
host    all         all         192.168.128.133/32          trust   <--192.168.128.133 의 아이피만 접속 허용

#vi postgresql.conf
#listen_addresses = 'localhost' --> listen_addresses = '*'
#port = 5432 --> port = 5432

윗부분을 찾아서 주석제거후 위 구문으로 고친다.

* database 만들기
#createdb [DB명]

* user 만들기
#createuser [유저명]


728x90
반응형

+ Recent posts