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>