Database & Data/PostgreSQL

[PostgreSQL Admin] 환경 변수 설정 및 alias 설정 - 3

동석해요 2024. 9. 20. 18:16
728x90
SMALL

PostgreSQL을 설치를 완료했다면 환경 변수 설정과 alias를 설정할 것이다.

 

목차

1. 환경변수 설정

2. alias 설정

3. log 디렉토리 설정

 

환경변수 설정

1. root 계정 전환

su -

 

2. 현재 위치 파일 목록 확인

ll

 

3.  .profile과 .bashrc 파일 복사

cp .profile /var/lib/postgresql/

cp .bashrc /var/lib/postgresql/

.profile 역할: 로그인 시점에서 한 번 실행되며 주로 전역적인 환경 변수를 설정하는 데 사용된다.

.bashrc 역할: 새로운 터미널 세션이 열릴 때마다 실행되며, 주로 쉘 세션에서 필요한 alias나 사용자 정의 명령어 설정에 많이 사용된다.

 

4. postgres 홈 디렉터리 이동

cd /var/lib/postgresql/

 

5. 권한 확인

ll

 

6. 권한 변경

chown postgres:postgres .profile

chown postgres:postgres .bashrc

이 명령을 실행하면 .profile과 .bashrc 파일의 소유자와 그룹이 postgres로 설정된다.

즉, 이 두 파일에 대해 PostgreSQL 계정이 주체가 되어 권한을 가지게 된다.

 

소유자 권한: postgres 사용자는 파일을 읽고, 수정하고, 실행할 수 있는 권한을 갖게 된다.

그룹 권한: postgres 그룹에 속한 다른 사용자가 있다면 그 사용자들도 이 파일에 대한 그룹 권한을 가진다.

 

7. 권한 확인

ll

 

8. postgres 계정 변경

su - postgres

 

9. .profile 열기

vi .profile

 

10. 환경변수 설정

export PATH=$PATH:/usr/lib/postgresql/15/bin
export PGDATA=/var/lib/postgresql/15/main/
export PGCONF=/etc/postgresql/15/main/
export PGHOME=/var/lib/postgresql/
export PGDATABASE=postgres
export PGUSER=postgres
export PGPORT=5432
export PGPASSWORD=postgres
구분 설명
export PATH=$PATH:/usr/lib/postgresql/15/bin PATH 환경 변수는 시스템이 실행할 수 있는 명령어의 경로를 정의한다.
PostgreSQL의 명령어(예: psql, pg_ctl 등)를 터미널에서 경로를 따로 입력하지 않고 바로 사용할 수 있다.
export PGDATA=/var/lib/postgresql/15/main/ PGDATA는 PostgreSQL 데이터 파일이 저장된 디렉토리다.
이 변수는 PostgreSQL이 데이터를 저장하거나 가져올 때 기본적으로 참조하는 경로다.
export PGCONF=/etc/postgresql/15/main/ PGCONF는 PostgreSQL의 설정 파일들(postgresql.conf, pg_hba.conf 등)이 저장된 디렉토리 경로를 나타낸다.
이 설정 파일들은 데이터베이스 서버의 동작 방식을 정의합니다.
export PGHOME=/var/lib/postgresql/ PGHOME은 PostgreSQL의 기본 홈 디렉토리를 설정하는 변수다.
이 디렉토리에는 PostgreSQL 관련 다양한 파일이 저장된다.
export PGDATABASE=postgres PGDATABASE는 기본적으로 연결할 데이터베이스의 이름을 지정한다.
여기서는 postgres라는 데이터베이스로 설정되어 있다.
export PGUSER=postgres PGUSER는 기본적으로 PostgreSQL에 접속할 때 사용할 사용자 이름을 지정한다.
여기서는 postgres 사용자로 설정되어 있다.
export PGPORT=5432 PGPORT는 PostgreSQL 서버가 통신하는 포트 번호를 지정한다.
기본값은 5432이며 PostgreSQL이 이 포트를 통해 클라이언트와 통신한다.
export PGPASSWORD=postgres PGPASSWORD는 PostgreSQL에 연결할 때 사용할 비밀번호를 지정하는 환경 변수다.
여기서는 비밀번호가 postgres로 설정한다.

 

11. 설정값 적용

source .profile

 

alias 설정

1. .bashrc 열기

vi .bashrc

 

2. pg_ctl 설정

# pg_ctl 기동
alias pgstart='/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main/ "-o -c
config_file=/etc/postgresql/15/main/postgresql.conf" start'

# pg_ctl 상태 확인
alias pgstatus='/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main/ "-o -c
config_file=/etc/postgresql/15/main/postgresql.conf" status'

# pg_ctl 종료
alias pgstop='/usr/lib/postgresql/15/bin/pg_ctl -D /var/lib/postgresql/15/main/ "-o -c
config_file=/etc/postgresql/15/main/postgresql.conf" stop'

세부 분석

구분 설명
/usr/lib/postgresql/15/bin/pg_ctl PostgreSQL을 제어하기 위한 명령어 pg_ctl의 경로이다.
PostgreSQL 설치 경로에 따라 달라질 수 있다.
-D /var/lib/postgresql/15/main/ PostgreSQL의 데이터 디렉토리를 지정한다.
여기서는 PostgreSQL 데이터 파일이 위치한 /var/lib/postgresql/15/main/ 디렉토리를 사용한다.
"-o -c config_file=/etc/postgresql/15/main/postgresql.conf" pg_ctl의 추가 옵션을 지정한다.
이 부분은 PostgreSQL을 기동할 때 사용할 설정 파일(postgresql.conf)을 명시하는 옵션이다.
• -o 옵션은 추가 명령줄 옵션을 전달하는 역할을 한다.
• -c config_file= 는 PostgreSQL 서버가 사용할 설정 파일(postgresql.conf)의 경로를 지정한다.

 

log 디렉토리 설정

1. postgresql.conf 열기

vi $PGCONF/postgresql.conf

 

2. log 디렉토리 설정

기존 설정 변경 된 설정 변경 된 이유
#log_filename = 
'postgresql-%Y-%m-%d_%H%M%S.log'
log_filename = 
'postgresql-%A.log'
날짜와 시간을 포함한 로그 파일을 매번 생성하는 대신, 요일별로 로그 파일을 분리하여 관리할 수 있다.
즉, 매일 로그 파일을 새로 만들지 않고 요일마다 하나의 파일을 덮어쓰면서 로그를 기록한다
logging_collector = off logging_collector = on 기본적으로 off로 되어 있으면 PostgreSQL은 표준 출력(stderr)에 로그를 기록하고, 별도의 로그 파일에는 기록하지 않는다.
로그 파일을 기록하기 위해 로그 수집기를 활성화하여 데이터베이스의 상태 및 오류를 기록하고, 이후 분석할 수 있도록 한다.
log_truncate_on_rotation = off log_truncate_on_rotation = on 로그 파일을 회전(로테이션) 할 때, 기존 로그 파일을 덮어쓸지(on), 아니면 이어서 기록할지(off)를 결정한다.
로그 파일이 너무 커지지 않도록 회전 시 이전 로그 파일을 덮어쓰도록 설정하여 로그 관리를 더 용이하게 한다.
728x90
SMALL