반응형

[Linux] PostgreSQL 설정

 

작성일자 : 2018 07 31

환경 : PostgreSQL 9.2.14, CentOS 6.6

시나리오

DB용 서버(CentOS) DB(PostgreSQL) 설치 후 외부(Window)에서 pgAdmin 툴을 사용해 접근

구성 :

DB 서비스 계정 : dbadmin

DB 설치 위치 : /db/pgsql

DB 데이터 위치 : /db/data

 



1. 계정 설정


1-1. 서비스용 계정 생성


$ adduser dbadmin

$ passwd dbadmin

 


1-.2 서비스용 계정 환경변수 설정


$ su - dbadmin

$ vi ~/.bash_profile

 

..

POSTGRES_HOME=/db/pgsql

export POSTGRES_HOME

# PostgreSQL Home Path

 

 

PGDATA=/db/data

export PGDATA

# PostgreSQL Data Path

 

LD_LIBRARY_PATH=/home/dbadmin/pgsql/lib 

export LD_LIBRARY_PATH

# PostgreSQL Library Path

 

 

PATH=$POSTGRES_HOME/bin:$PATH

export PATH

 

..

 

 


1-3. 환경변수 적용


$ source ~/.bash_profile

 



2. 설치 전 설정


2.1 관련 패키지 설치


$ su - root

$ yum -y install gcc gcc-c++ make autoconf wget readline readline-devel zlib zlib-devel openssl openssl-devel gettext gettext-devel python python-devel

 


2.2 설치 파일 다운로드


$ wget http://ftp.postgresql.org/pub/source/v9.2.14/postgresql-9.2.14.tar.gz

 



2.3 소유자 변경


$ chown dbadmin.dbadmin postgresql-9.2.14.tar.gz

$ chown dbadmin.dbadmin /db


 

2.4 압축 해제


$ tar –zxvf postgresql-9.2.14.tar.gz

$ cd postgresql-9.2.14

 


 

2.5 설정


$ ./configure --prefix=/db/pgsql

# --prefix : 설치 경로 설정

 

 


3. 설치

 

# DB 설치는 Root가 아닌 환경변수 설정완료 및 파일 소유 계정으로 설치 권고


$ make

 


 

$ make check

 



$ make install

 




 

4. 설치 후 설정


4.1 initdb 실행



$ POSTGRES_HOME/bin > ./initdb

# 시스템 카달로그를 포함하고 있는 Postgres 기본 DB를 생성하는 명령어

# $PGDATA = /db/data

 


 


4.2 외부 접근 허용

 

$ vi $PGDATA/pg_hba.conf

..

host     all        all        0.0.0.0/0           md5

..

 

# 기존 host 라인 삭제 및 새로운 라인 추가

 


 

$ vi $PGDATA/postgresql.conf

..

listen_addresses = ‘*’

..

 

# 기존 listen_addresses 옵션 수정

 




5. 실행 및 확인


$POSTGRES_HOME/bin > ./pg_ctl start

 

 


 


 

계정 비밀번호 설정


POSTGRES_HOME/bin > ./psql postgres

postgres=# alter user dbadmin with password ‘dbadmin’;

 

 


6. 외부 접근 확인


pgAdmin4에서 연결 확인

 


Host name/address : DB서버 IP

Default Port : 5432

Default Database : postgres

Username, Password 서비스 계정 및 설정한 패스워드

 


 

 

+++

psql 명령어만 사용 시 자동으로 계정명의 데이터베이스에 접근하기 때문에

postgres 계정을 서비스계정으로 사용하면 psql만으로 초기 접근 가능

 

psql 종료

ctrl+D

 

데이터베이스 생성

$ psql postgres

Postgres=# create database ‘database_name’;

 

데이터베이스 확인

$ psql postgres

\l

 

데이터베이스 사용자 확인

$ psql postgres

\du

 

데이터베이스 사용자 생성, 수정, 삭제

create user ‘ID’ with password ‘PASSWORD’;

alter user ‘ID’ with password ‘PASSWORD’;

drop user ‘ID’;


반응형

'Linux' 카테고리의 다른 글

[Linux] MongoDB 설치  (0) 2018.09.16
[Linux] GIT Client 설정  (0) 2018.09.16
[Linux] GUI 환경 설정  (0) 2018.07.21
[Linux] Maven 설치  (0) 2018.07.15
[Linux] Tomcat 설치  (0) 2018.07.03

+ Recent posts