https://www.postgresql.org/ftp/source/v13.4/
postgresql 버전 13.4 centos 에 소스 컴파일 설치
리눅스에서 postgresql 설치할 사용자 계정을 root에서 생성한다.
adduser passdata
사용자 암호생성
passwd passdata
새암호:
새암호 재입력:
postgresql 사이트에서 다운받은 postgresql-13.4.tar.gz 파일을 생성된 사용자 계정 홈디렉토리에 전송한다.
압축을 푼다 : tar -zxvf postgresql-13.4.tar.gz
cd postgresql-13.4
■ 설치할 디렉토리 생성
mkdir -p /apps/postgresql-13.4
mkdir -p /passdata1/pgdata
소유권 변경
cd /passdata1
chown -R passdata:passdata ./pgdata
■ configure 옵션
기본적인 소스 컴파일 옵션은 다음과 같습니다.
--prefix : PostgreSQL을 설치할 디렉토리
--sysconfdir : 환경파일 위치. 기본값은 prefix밑의 etc디렉토리.
--datarootdir : 다양한 유형의 읽기 전용 데이터 파일에 대한 루트 디렉토리를 설정합니다. 다음 옵션 중 일부에 대해서만 기본값을 설정합니다. 기본값은 PREFIX / share입니다.
--datadir : 설치된 프로그램에서 사용하는 읽기 전용 데이터 파일의 디렉토리를 설정합니다. 기본값은 DATAROOTDIR입니다. 이것은 데이터베이스 파일이 설치될 위치와는 아무 관련이 없습니다.
--with-perl : perl을 사용할 수 있도록 합니다.
--with-python : 파이선을 사용할 수 있도록 합니다
--with-openssl : SSL통신을 사용할 수 있도록 합니다.
--with-segsize : 세그먼트 크기 (GB)를 설정합니다. 큰 테이블은 각각 세그먼트 크기와 동일한 크기의 여러 운영 체제 파일로 나뉩니다. 이렇게하면 많은 플랫폼에 존재하는 파일 크기 제한 문제를 방지 할 수 있습니다. 기본 세그먼트 크기 인 1GB는 지원되는 모든 플랫폼에서 안전합니다. 운영 체제에 "largefile"지원이있는 경우 (요즘 대부분 지원) 더 큰 세그먼트 크기를 사용할 수 있습니다. 이는 매우 큰 테이블로 작업 할 때 사용되는 파일 설명자 수를 줄이는 데 도움이 될 수 있습니다. 그러나 플랫폼 및 사용하려는 파일 시스템에서 지원하는 것보다 큰 값을 선택하지 않도록주의하십시오. tar와 같이 사용할 수있는 다른 도구도 사용 가능한 파일 크기에 대한 제한을 설정할 수 있습니다. 절대적으로 필요한 것은 아니지만이 값은 2의 거듭 제곱이되는 것이 좋습니다.이 값을 변경하려면 initdb가 필요합니다.
--with-block-size : 블록 크기 (KB)를 설정합니다. 이것은 테이블 내의 스토리지 및 I / O 단위입니다. 기본값 인 8KB는 대부분의 상황에 적합합니다. 그러나 특별한 경우에는 다른 값이 유용 할 수 있습니다. 값은 1에서 32 (킬로바이트) 사이의 2 제곱이어야합니다. 이 값을 변경하려면 initdb가 필요합니다.
--with-wal-blocksize :WAL 블록 크기를 KB 단위로 설정합니다. 이것은 WAL 로그 내의 스토리지 및 I / O 단위입니다. 기본값 인 8KB는 대부분의 상황에 적합합니다. 그러나 특별한 경우에는 다른 값이 유용 할 수 있습니다. 값은 1에서 64 (킬로바이트) 사이의 2의 거듭 제곱이어야합니다. 이 값을 변경하려면 initdb가 필요합니다.
--enable-nls : 사용자가 원하는 메세지로 번역되게 합니다. 서버의 로케일 동작은 클라이언트 환경이 아니라 서버에서 표시되는 한경 변수에서 결정됩니다.
--with-systemd : CentOS 7이상에서 지원하는 systemd 를 사용하여 PostgreSQL시작 및 중지를 합니다.
■ 사전 설치 패키지 설치
yum install readline readline-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
yum install python3 python3-devel
yum install perl systemd-devel
yum install gcc gcc-c++
yum install systemd systemd-devel
yum install gettext gettext-devel autoconf wget flex
■ 소스 컴파일 및 설치
./configure --prefix=//apps/postgresql-13.4 --with-python --with-openssl --sysconfdir=/apps/postgresql-13.4/conf
컴파일을 진행합니다. 컴파일 방법은 2가지가 있습니다.
1. 일반설치 : configure에서 설정했던 기능을 설정
make
make check
make install
2. 전체 설치 : 문서를 포함하여 모든 기능을 빌드 (확장팩도 같이 설치된다.)
make world
make check
make install-docs
make install-world
■ 실행 환경 설정
소유권 변경 :
cd /apps
chown -R passdata:passdata ./postgresql-13.4
계정 전환 :
su - passdata
계정 환경 설정
vi .bash_profile
LANG=ko_KR.UTF-8
PGHOME=/apps/postgresql-13.4
PGDATA=/passdata1/pgdata
PATH=$PGHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
LD_LIBRARY_PATH=/$PGHOME/lib
PGDATABASE=postgres
export PGHOME
export PGDATA
export PATH
export LD_LIBRARY_PATH
export PGDATABASE
저장후에 반영
source .bash_profile
■ 클러스터 생성
postgresql을 실행하려면 클러스터를 생성해야 합니다. 이 클러스터를 생성해야 비로소 Database를 사용할 수 있습니다.
클러스터 생성 후 postgresql이라는 데이터베이스가 생성되는데 이것이 기본 catalog database입니다.
이 데이터베이스 안에는 postgresql의 유저정보, Database정보, 스키마 정보등 모든 정보들이 포함되어 있습니다.
postgresql DB를 생성합니다. passdata 계정으로 변경 후 실행합니다.
- initdb 명령을 이용하는 방법
initdb -D $PGDATA --encoding='utf8' --locale='ko_KR.UTF-8' --lc-collate='ko_KR.UTF-8' --lc-ctype='ko_KR.UTF-8'
postgresql 기동 명령어
1. 실행 : pg_ctl start
2. 상태확인 : pg_ctl status
3. 종료 : pg_ctl stop
프로세스 확인
ps -ef|grep postgres
■ config 환경설정
외부에서 접속을 하기 위해서는 허용 아이피 대역을 추가해야 한다.
db설치 경로에 가서
cd /passdata1/pgdata
vi pg_hba.conf
아래에 접속허용 아이피 추가
host all all 192.168.2.0/24 md5
동시접속 커넥선 설정
vi postgresql.conf
max_connections = 500
변경후 db서버 재기동
외부접속 허용 설정
postgresql.conf 파일 열어서
#listen_addresses = 'localhost' 로 주석되어 있는 부분을 아래와 같이 수정하여 저장후 재기동한다.
listen_addresses = '*'
'데이터베이스 > Postgresql' 카테고리의 다른 글
[PostgreSql] 오라클에서 postgresql 로 이관시 타입변환 정리 (0) | 2022.06.28 |
---|---|
[PostGreSql] 문자인지 숫자인지 체크하는 함수 (0) | 2022.06.24 |
[PostgreSql] 데이터 이관시 트리거 비활성후 테이블 데이터 삭제 (0) | 2021.11.09 |
[PostgreSql] 패스워드 없이 백업 및 복원 (0) | 2021.11.09 |
[PostgreSql] postgresql 13 확장팩 설치 (0) | 2021.11.08 |
댓글