Postgres가 자체 홈 디렉터리에 없는 구성 파일을 사용할 수 있는 이유는 무엇입니까?

Postgres가 자체 홈 디렉터리에 없는 구성 파일을 사용할 수 있는 이유는 무엇입니까?

debian내 운영 체제의 일반 계정입니다.

debian@debian:~$ cat /etc/passwd  |grep  debian
debian:x:1000:1000:debian,,,:/home/debian:/bin/bash

주요 디렉토리 postgres는 다음과 같습니다 /var/lib/postgresql:

debian@debian:~$ cat /etc/passwd  |grep  postgres
postgres:x:117:129:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash

.psqlrc에 또는 psqlrc파일이 없습니다 /var/lib/postgresql. 에 구성 파일을 작성했습니다 /home/debian/.psqlrc.

계정으로 쉘에 들어가면postgres

sudo -i -u  postgres

/home/debian/.psqlrc사용자가 (postgres 홈 디렉터리가 아닌) 설정을 호출할 수 있는 이유는 무엇입니까 postgres?

답변1

.psqlrcpsql명령 의 경우 이는 Postgres 데이터베이스입니다.고객. 이러한 클라이언트는 시스템(또는 다른 시스템)의 모든 사용자가 사용할 수 있습니다. 데이터베이스는 다른 호스트 및 사용자로부터 들어오는 연결을 수락하도록 구성되거나 구성되지 않을 수 있습니다.

귀하와 같은 서비스 계정의 경우 postgres홈 디렉터리는 일반적인 사람 로그인에 사용되는 사용자 계정보다 적을 수 있습니다. 특히 PostgreSQL의 경우 사용자의 홈 디렉터리가 postgres데이터베이스의 기본 위치로 사용될 수도 있고, 충돌이 발생할 경우 PostgreSQL 데이터베이스 엔진의 코어 덤프가 기본 위치를 갖도록 단순히 존재할 수도 있고, 어떤 이유로든 cron이 실패할 수도 있습니다. 크론 작업 결과를 메일로 보내면 실행 중인 작업에 postgres파일을 저장할 장소가 있습니다.dead.letter

/home/debian/.psqlrc사용자가 읽을 수 있고 다음 postgres과 같은 줄이 있는 경우

PSQLRC=/home/debian/.psqlrc 

~/.bashrcuser 에서 명령은 postgres또는 user 로 호출될 때 psql동일한 구성 파일을 사용합니다 . 이 계정을 사용하여 일반 데이터베이스 관리를 완료하려는 경우 편리할 수 있지만 주요 데이터베이스 유지 관리 또는 복구 작업을 수행하려면 드물게 데이터베이스 관리자가 로그인해야 할 수도 있습니다.debianpostgresdebianpostgres

관련 정보