티스토리 뷰

728x90
반응형

 포스팅은 PostgreSQL Installation 및 기본 운영자 가이드를 포함하고 있습니다.


최근 Cloud 환경으로 넘어 오면서 급격하게 OpenSource Software를 사용하는 빈도가 늘어나고 있습니다. Standalone 환경에서 ScaleOut, ScaleIn이 유동적으로 이루어 질수 있도록 기반을 잡고 있고, PostgreSQL이 앞으로 DB 시장에 어떠한 역할을 할지 귀추가 주목됩니다.


먼저 PostgreSQL 설치 방법에 대해 알아보겠습니다.

본 바이너리는 S-CORE에서 내재화를 진행하고 있는 PostgreSQL-10.4_S1.0_CentOS-7.5.run를 사용하였습니다.


1. 바이너리 업로드


[postgresql@k8s-master ~]$ pwd

/home/postgres

[postgresql@k8s-master ~]$ ls -la

total 11620

drwx------. 6 postgresql postgresql      185 Nov  5 00:50 .

drwxr-xr-x. 8 root       root             97 Nov  5 00:49 ..

-rw-------. 1 postgresql postgresql       37 Nov  5 00:50 .bash_history

-rw-r--r--. 1 postgresql postgresql       18 Apr 10  2018 .bash_logout

-rw-r--r--. 1 postgresql postgresql      193 Apr 10  2018 .bash_profile

-rw-r--r--. 1 postgresql postgresql      231 Apr 10  2018 .bashrc

drwxrwxr-x. 3 postgresql postgresql       18 Nov  5 00:49 .cache

drwxrwxr-x. 3 postgresql postgresql       18 Nov  5 00:49 .config

drwxrwxr-x. 3 postgresql postgresql       19 Nov  5 00:49 .local

drwxr-xr-x. 4 postgresql postgresql       39 Oct 16 01:38 .mozilla

-rw-r--r--. 1 postgresql postgresql 11881053 Nov  5 00:48 PostgreSQL-10.4_S1.0_CentOS-7.5.run

[postgresql@k8s-master ~]$

- 실행할 바이너리를 업로드 합니다.


2. 권한 부여


[postgresql@k8s-master ~]$ chmod u+x PostgreSQL-10.4_S1.0_CentOS-7.5.run

[postgresql@k8s-master ~]$


- 실행권한을 부여하여 바이너리 설치 준비를 합니다.


3. 바이너리 실행


[postgresql@k8s-master ~]$ ./PostgreSQL-10.4_S1.0_CentOS-7.5.run

...

...


- 위와 같이 실행 권한을 부여받은 바이너리를 실행합니다.


4. 설치 경로 선택


[postgresql@k8s-master ~]$ ./PostgreSQL-10.4_S1.0_CentOS-7.5.run

----------------------------------------------------------------------------

Welcome to the PostgreSQL Setup Wizard.

----------------------------------------------------------------------------

1. Please specify the directory where PostgreSQL will be installed.

Installation Directory [/home/postgres/SEPAS]:/home/postgres/SEPAS


- 설치 경로를 지정합니다.

- Default 값은 현재 디렉토리 + SEPAS입니다.


5. Data 경로 선택


2. Please select a directory under which to store your data.

Data Directory [/home/postgres/SEPAS/DATA]:/home/postgres/SEPAS/DATA


- 설치 경로 + DATA 경로가 Default로 data 파일 저장소 경로를 입력합니다.


6. Port 선택


3. Please select the port number the server should listen on.

Port [5432]:5432


- PostgreSQL powered by S-CORE에서 사용할 port 번호를 입력합니다.

- default는 5432입니다.


7. SuperUser 계정 생성


4. Please provide the database superuse

Superuser [postgresql]: postgresql


- PostgreSQL의 SuperUser를 생성합니다.


8. Locale 선택


5. Select the locale to be used by the new database cluster.

Locale :

[1] [Default_locale]

[2] C

[3] C.UTF-8

[4] POSIX

[5] en_AG

[6] en_AG.utf8

[7] en_AU.utf8

[8] en_BW.utf8

[9] en_CA.utf8

[10] en_DK.utf8

[11] en_GB.utf8

[12] en_HK.utf8

[13] en_IE.utf8

[14] en_IN

[15] en_IN.utf8

[16] en_NG

[17] en_NG.utf8

[18] en_NZ.utf8

[19] en_PH.utf8

[20] en_SG.utf8

[21] en_US.utf8

[22] en_ZA.utf8

[23] en_ZM

[24] en_ZM.utf8

[25] en_ZW.utf8

[26] ko_KR.utf8

Please choose an option [1]:26


- ko_KR.utf8을 선택합니다.


9. 옵션 내용 확인 (Summary 확인)


Pre Installation Summary

The following settings will be used for the installation

1. Installation Directory : /home/postgres/SEPAS

2. Data Directory : /home/postgres/SEPAS/DATA

3. Database Port : 5432

4. Database Superuser : postgresql

5. LOCALE : ko_KR.utf8

----------------------------------------------------------------------------

Setup is now ready to begin installing PostgreSQL on your computer.

Do you want to continue? [Y/N]:Y


- 설정 내용을 검토하고 Y를 입력합니다.


10. SuperUser 계정 비밀번호 지정 및 설치


The files belonging to this database system will be owned by user "postgresql".

This user must also own the server process.


The database cluster will be initialized with locale "ko_KR.utf8".

The default database encoding has accordingly been set to "UTF8".

initdb: could not find suitable text search configuration for locale "ko_KR.utf8"

The default text search configuration will be set to "simple".

Data page checksums are disabled.

Enter new superuser password:

Enter it again:

creating directory /home/postgres/SEPAS/DATA ... ok

creating subdirectories ... ok

selecting default max_connections ... 100

selecting default shared_buffers ... 128MB

selecting dynamic shared memory implementation ... posix

creating configuration files ... ok

running bootstrap script ... ok

performing post-bootstrap initialization ... ok

syncing data to disk ... ok

Success. You can now start the database server using:

    /home/postgres/SEPAS/bin/pg_ctl -D /home/postgres/SEPAS/DATA -l logfile start

   You must load SEPAS.env before using SE-PostgreSQL.

[postgresql@k8s-master ~]$


- 위와 같이 계정 비밀번호를 두번 입력하면 설치가 진행됩니다.

- 설치가 완료 되면 위와 같은 메시지를 확인할 수 있습니다.


11. 설치 확인


[postgresql@k8s-master ~]$ ls -la

total 11624

drwx------. 7 postgresql postgresql      215 Nov  5 01:03 .

drwxr-xr-x. 8 root       root             97 Nov  5 00:49 ..

-rw-------. 1 postgresql postgresql       37 Nov  5 00:50 .bash_history

-rw-r--r--. 1 postgresql postgresql       18 Apr 10  2018 .bash_logout

-rw-r--r--. 1 postgresql postgresql      193 Apr 10  2018 .bash_profile

-rw-r--r--. 1 postgresql postgresql      231 Apr 10  2018 .bashrc

drwxrwxr-x. 3 postgresql postgresql       18 Nov  5 00:49 .cache

drwxrwxr-x. 3 postgresql postgresql       18 Nov  5 00:49 .config

drwxrwxr-x. 3 postgresql postgresql       19 Nov  5 00:49 .local

drwxr-xr-x. 4 postgresql postgresql       39 Oct 16 01:38 .mozilla

-rwxr--r--. 1 postgresql postgresql 11881053 Nov  5 00:48 PostgreSQL-10.4_S1.0_CentOS-7.5.run

drwxrwxr-x. 7 postgresql postgresql      112 Nov  5 01:04 SEPAS

-rw-rw-r--. 1 postgresql postgresql      203 Nov  5 01:03 SEPAS.env

[postgresql@k8s-master ~]$


- 위와 같이 설치가 정상적을 완료되면 SEPAS와 SEPAS.env가 생성된 것을 볼 수 있습니다.


12. 환경 변수 셋팅


[postgresql@k8s-master ~]$ cat SEPAS.env

export LD_LIBRARY_PATH=:/home/postgres/SEPAS/lib

export PATH=$PATH:/home/postgres/SEPAS/bin

export PGDATA=/home/postgres/SEPAS/DATA

export PGDATABASE=postgres

export PGUSER=postgresql

export PGPORT=5432

[postgresql@k8s-master ~]$ vi .bash_profile

# .bash_profile


# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi


# User specific environment and startup programs


PATH=$PATH:$HOME/.local/bin:$HOME/bin


export PATH

export LD_LIBRARY_PATH=:/home/postgres/SEPAS/lib

export PATH=$PATH:/home/postgres/SEPAS/bin

export PGDATA=/home/postgres/SEPAS/DATA

export PGDATABASE=postgres

export PGUSER=postgresql

export PGPORT=5432

[postgresql@k8s-master ~]$ source .bash_profile

[postgresql@k8s-master ~]$ env | grep PG

PGPORT=5432

PGUSER=postgresql

PGDATABASE=postgres

PGDATA=/home/postgres/SEPAS/DATA

[postgresql@k8s-master ~]$


- 설치 시 함께 생성되는 SEPAS.env 파일을 확인합니다.

- 해당 내용을 복사하여 .bash_profile or .profile 하단에 붙여넣기를 수행합니다.

- 이후 source를 통해 profile 반영 후 환경 변수가 제대로 셋팅되었는지 확인합니다.


13. postgresql 기동 및 admin 접속


[postgresql@k8s-master ~]$ pg_ctl start

waiting for server to start....2018-11-05 01:09:00.815 EST [21968] LOG:  listening on IPv6 address "::1", port 5432

2018-11-05 01:09:00.815 EST [21968] LOG:  listening on IPv4 address "127.0.0.1", port 5432

2018-11-05 01:09:00.857 EST [21968] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"

2018-11-05 01:09:00.979 EST [21969] LOG:  database system was shut down at 2018-11-05 01:04:42 EST

2018-11-05 01:09:01.022 EST [21968] LOG:  database system is ready to accept connections

 done

server started

[postgresql@k8s-master ~]$ psql

Password:

psql (10.4_S1.0 Powered by S-Core)

Type "help" for help.


postgres=# \du

                                    List of roles

 Role name  |                         Attributes                         | Member of

------------+------------------------------------------------------------+-----------

 postgresql | Superuser, Create role, Create DB, Replication, Bypass RLS | {}


postgres=#


- 위와 같이 pg_ctl start로 postgresql이 정상적으로 기동되는 것을 확인할 수 있습니다.

- 또한 psql로 postgresql CLI 환경 Admin 접속이 가능하며, 다음과 같이 명령어를 수행할 수 있습니다.


다음시간에는 repmgr 설치 및 운영가이드에 대해 살펴보도록 하겠습니다.

728x90
반응형