ETC [ Postgresql ] Postgresql 설치 및 구성
페이지 정보
작성자 Leesangwoo 아이디로 검색 전체게시물 댓글 0건 조회 2,881회 좋아요 0회 작성일 22-06-30 14:15본문
1. Postgresql이란?
- PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나이다.
BSD 허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다.
2. Postgresql 다운로드 및 설치
2.1 Postgresql 홈페이지에서 최신버전을 다운로드 한다.
https://www.postgresql.org/ftp/source/
2.2 Postgresql 설치
1) 사전 패키지 설치
yum install gcc zlib-devel readline-devel 패키지가 설치가 되어 있어야 한다.
2) limit 설정
/etc/security/limits.conf
-------------------------
# PostgreSQL User
postgres soft nproc 65536
postgres hard nproc 65536
postgres soft nofile 65536
postgres hard nofile 65536
-------------------------
부하가 커지면 프로세스가 늘어나니 미리 설정해 둔다.
3) postgresql 설치 파일 압축 해제 후 컴파일
postgresql-14.3 을 압축을 풀고 들어간다.
tar -zxf postgresql-14.3.tar.gz
cd postgresql-14.3
들어가면 파일은 위처럼 되어 있다.
이제 설치할 폴더를 생성해 준다.
mkdir /postgres/
./configure --prefix=/postgres/
make
make install
/postgres 경로에 설치한다.
4) 관리 계정 생성 및 환경 설정( bash_profile )
useradd postgres
passwd postgres
postgresql 관리 계정 생성
chown -R postgres. /postgres
/postgres 폴더에 postgres 계정 소유권을 변경해 준다.
/home/postgres/.bash_profile
-----------------------------------------------------------------------
# PostgresSQL
POSTGRES_HOME=/postgre/
PGLIB=$POSTGRES_HOME/lib
PGDATA=/postgre_data/
MANPATH=$MANPATH:$POSTGRES_HOME/man
LD_LIBRARY_PATH=$POSTGRES_HOME/lib
PATH=$PATH:$HOME/bin:$POSTGRES_HOME/bin
export PATH
export POSTGRES_HOME
export PGLIB
export PGDATA
export MANPATH
export LD_LIBRARY_PATH
alias pgsql_start='pg_ctl -D $PGDATA -l $POSTGRES_HOME/pgsql.log start'
alias pgsql_stop='kill `cat $PGDATA/postmaster.pid|head -1`'
-----------------------------------------------------------------------
postgres 계정 bash_profile 환경설정을 추가해 준다.
su - postgres
postgres 계정으로 로그인 후
cd /postgres/
/postgres/ 폴더로 이동하고
5) data 폴더 생성 및 엔진 생성
mkdir /postgres_data/
postgres data 및 설정이 저장될 폴더도 생성해 준다.
./bin/initdb -D /postgres_data/ -U postgres -W
/postgres_data 위치에 엔진 설치 ( -U 관리자 계정이며 whoami 랑 일치해야 된다. )
6) 엔진 기동 테스트
./bin/pg_ctl -D /postgres_data/ -l /postgres_data/postgre/start.log start
postgres 기동 테스트 ( bash_profile에 환경설정을 해두었다면 pgsql_start 해도 된다. )
7) 원격 접속 설정
/postgres_data/postgresql.conf
listen_addresses = '*'
접속 허용 설정 ( 기본 localhost로 되어 있음 )
/postgres_data/pg_hba.conf
host all all 0.0.0.0/0 md5
원격으로 계정 접속을 하기 위해서는 위 내용이 추가되어야 한다.
8) 일반 계정 생성
계정을 생성하기 전에 계정과 동일한 database가 필요하다.
ex) admin 계정을 생성하려고 admin database 생성했다.
admin 계정을 생성하고 password는 1234로 설정했다.
조금 전에 생성한 admin database를 admin에게 권한 할당하면 계정 생성은 완료가 되었다.
admin 계정 localhost 접속 테스트
admin 계정 ip 접속 테스트
댓글목록
등록된 댓글이 없습니다.