개발로 자기계발
article thumbnail
728x90

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
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)