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>