External database for pgAdmin user settings¶
pgAdminが使用するユーザ設定は、SQLiteデータベースに保存されます。このデータベースには、設定、ユーザーアカウント、自動検出サーバーなど、多くの設定が保存されます。
SQLiteはファイルベースのデータベースであり、ファイルシステムのどこにでも置くことができるため、障害を処理するようには設計されていません(HAサポートなし)。さらに、複数の接続を同時にデータの読み取り/書き込みを処理するように設計されていません。例:Kubernetesなどの環境では、代替バックエンドを使用して、非エフェメラルストレージでSQLiteの使用を回避し、設定データベースのHAを許可すると役立つ場合があります。
これを防ぐために、pgAdminは、 config.py ファイルの新しい「CONFIG_DATABASE_URI」パラメータを使用して、外部データベースにユーザ設定を保存することをサポートするようになりました。
SQLiteデータベースを使用する¶
SQLiteデータベースを使用するには、CONFIG_DATABASE_URIパラメーターが''のような空の文字列に設定されていることを確認してください。デフォルトでは、config.pyの空の文字列に設定されているため、SQLiteデータベースを使用したい場合は、何も変更する必要はありません。
外部データベースを使用¶
外部データベースを使用するには、CONFIG_DATABASE_URIパラメーターが/"dialect+driver://username:password@host:port/database/"のように設定されていることを確認してください。
Note データベースは事前に作成しておくことをおすすめします。
PostgreSQLデータベースを使用する¶
以下は、PostgreSQLを外部データベースとして使用するためのフォーマットです。
基本的な構文:
postgresql://username:password@host:port/database
特定のスキーマを使用する(事前にスキーマを作成することをお勧めします):
postgresql://username:password@host:port/database?options=-csearch_path=<schema name>
サービスアカウントのデフォルトのpgpassパスを使用します。
postgresql://username@host:port?options=-csearch_path=<schema name>
pgpassファイルパスの指定:
postgresql://username@host:port?passfile=<path of the pgpass file>&options=-csearch_path=<schema name>