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

関連情報