The postgres Unix user
======================

このページには、postgresユーザーとそのホームディレクトリがどのように構成されているかについて文書化されています。

:ref:`Creating Postgres users <Creating Postgres users>` の作成方法に関する別のページがあります。

シェル構成
----------

TPAは\ ``.bashrc`` ファイルをインストールし、それが\ ``.profile``
または\ ``.bash_profile`` ファイルにも含まれることを確認します。

ユーザー名、ホスト名、作業ディレクトリを含むプロンプトを設定し、\ ``postgres_bin_dir``
が\ ``PATH`` にあることを確認し、\ ``PGDATA`` を\ ``postgres_data_dir``
の場所に設定します。

オプションで\ ``extra_bashrc_lines`` を指定して、\ ``.bashrc``
に任意の行を追加できます。 YAML複数行文字列構文 ``>-``
を使用して、シェルメタキャラクタの引用符とエスケープについて心配する必要を回避します。

.. code:: yaml

   cluster_vars:
     extra_bashrc_lines:
     - alias la=ls\ -la
     - >-
       export PATH="$PATH":/some/other/dir

sudoersを編集して\ ``sudo systemctl start/stop/reload/restart/status postgres``
を許可し、また\ ``ulimits``
を変更して無制限のコアダンプを許可し、ファイル記述子の制限を引き上げます。

SSHキー
-------

TPAは\ ``ssh-keygen``
を使用してpostgresユーザーのSSHキーペアを生成およびインストールし、クラスター内のインスタンスが\ ``postgres``
として互いにsshできるように\ ``.ssh/authorized_keys`` を編集します。

TLS証明書
---------

デフォルトでは、TPAはプライベートキーと自己署名TLS証明書を生成します。これらはPostgresがそれぞれ\ ``ssl_key_file``
および\ ``ssl_cert_file``
として使用します。ファイルは、TPAクラスター名\ ``cluster_name.key``
および\ ``cluster_name.crt`` を使用して名前付けられ、\ ``/etc/tpa``
にあります。独自のキーと証明書を提供する方法を含む詳細については、
:ref:`SSL configuration <postgresql.conf>` のドキュメントを参照してください。

自己署名TLSキーのサイズは、変数\ ``postgres_rsa_key_size``
を\ ``cluster_vars`` セクションに追加して変更できます。

.. code:: yaml

     (...)
     cluster_vars:
       postgres_rsa_key_size: 4096

デフォルトでは、自己署名TLS証明書の期間は3650日です。期間は、
``cluster_vars`` セクションで\ ``openssl_certificate_validity``
日単位を定義することにより調整できます。証明書を置き換える必要がある場合は、
``tpaexec deploy``
``tpaexec deploy (...) -e tpa_tls_renew_tls_certificates=true``
で\ ``tpa_tls_renew_tls_certificates`` 変数を使用します。

ユーザー名
----------

``postgres_user`` および\ ``postgres_group``
設定デフォルトでは両方とも\ ``postgres``
は、どこでも一貫して使用されます。何らかの理由でPostgresを別のユーザーとして実行する必要がある場合、それらを変更できます。
