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
'Database & Data > PostgreSQL' 카테고리의 다른 글
[PostgreSQL Admin] 클라이언트 데이터베이스 연결하기 - 4 (1) | 2024.09.22 |
---|---|
[PostgreSQL Admin] PostgreSQL 설치 - 2 (0) | 2024.09.09 |
[PostgreSQL Admin] M1 VMware Pro에 Ubuntu 설치하기 - 1 (1) | 2024.09.09 |
PostgreSQL 파티셔닝과 성능 최적화 간단히 실습 (0) | 2024.06.13 |
PostgreSQL 간단한 소개, 설치(Windows / Mac), 어드민 접속 (0) | 2023.01.14 |