2. PostgreSQL 설치
모든 PostgreSQL 설치 단계를 모든 PostgreSQL 노드에서 수행해야 합니다.
RHEL에 Postgres 설치
단계 1
https://www.postgresql.org/download/linux/redhat/를 참조하여 PostgreSQL 10의 최신 부 버전을 찾아 다운로드합니다. 그에 따라 다음 yum 명령에 참조된 rpm을 수정해야 합니다.
sudo yum install
https://download.postgresql.org/pub/repos/yum/10.x/redhat/rhel-7-
x86_64/pgdg-redhat94-9.4-3.noarch.rpm
sudo yum install postgresql10.x-server postgresql10.x-contrib
단계 2
생산 데이터베이스 파일은 일반적으로 비 OS 디스크 또는 공유 파일 서비스에 저장됩니다. 이 예제에서는 /db 폴더가 이러한 스토리지 위치입니다.
각 PostgreSQL 노드에 다음 폴더 위치를 만듭니다.
|
/db/postgres 위치는 이 예제와 함께 제공된 스크립트에서 참조됩니다. 폴더 위치를 수정하면 스크립트도 업데이트해야 합니다.
|
sudo mkdir /db
sudo mkdir /db/postgres
sudo mkdir /db/thingworx
sudo mkdir /db/install
sudo mkdir /db/bin
sudo chown -R postgres:postgres /db
앞서 이 예제의
파일 공유 단원에서 언급된 세 개의 보관 폴더를 만들고 모든 PostgreSQL 노드가 폴더 내의 콘텐츠에 액세스할 수 있는지 확인합니다.
/db/node0archive
/db/node1archive
/db/node2archive
단계 3
앞서
데이터베이스 폴더 설정에 언급된 대로 PostgreSQL 데이터베이스는 각 PostgreSQL 노드의
/db/postgres 아래에 위치합니다.
데이터베이스를 초기화하기 전에 postgres 사용자 프로파일을 먼저 새 위치로 조정해야 합니다.
sudo su postgres
vim ~/.bash_profile
~/.bash_profile의 샘플
[ -f /etc/profile ] && source /etc/profile
PGDATA=/db/postgres
export PGDATA
PATH=$PATH:/usr/pgsql-10.x/bin
export PATH
# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source
/var/lib/pgsql/.pgsql_profile
편집한 후 변경 사항을 적용합니다.
source ~/.bash_profile
데이터베이스를 초기화합니다.
/usr/pgsql-10.x/bin/initdb -D /db/postgres
단계 4
sudo 권한이 있는 사용자로 돌아가 PostgreSQL 서비스 내의 PGDATA 매개 변수를 수정합니다.
postgresql-10.x.service 파일을 편집하여
sudo vi /usr/lib/systemd/system/postgresql-10.x.service
새 GDATA 매개 변수 값을 포함하도록 합니다.
# Location of database directory
#Environment=PGDATA=/var/lib/pgsql/10.x/data/
Environment=PGDATA=/db/postgres
그런 다음 서비스를 다시 로드하고 활성화하고 시작합니다.
sudo systemctl reload
sudo systemctl enable postgresql-10.x.service
sudo systemctl start postgresql-10.x
단계 5
초기 설치 확인:
sudo su postgres
psql
show data_directory 명령을 사용하여 기본 데이터베이스가 올바르게 설치되었는지 확인합니다.
postgres=# show data_directory;
data_directory
----------------
/db/postgres
(1 row)