web-dev-qa-db-ja.com

pgAdminが要求するメンテナンスDBとは何ですか?

新しいデータベース接続を追加するためのpgAdminダイアログは"Maintenance DB"を要求します。
接続できるようにするために、接続するデータベースに設定します(また、接続する権限があります)。

では、なぜ「DB」や「データベース」ではなく「メンテナンスDB」と名付けられたのでしょうか。

25
jgomo3

あなたはクラスター内のany既存のデータベースを「メンテナンスDB 」インターフェースによって提案されるオプションに限定されません。これは単なる典型的なデフォルトです。

これは、制限された権限または読み取り専用アクセス権を持つユーザーに特に役立ちます。単一のDBへのアクセスは、「メンテナンスDB」と同じDBの方が簡単です。

詳細:
すべてのユーザーがpg_hba.confのpostgresデータベースにアクセスする必要がありますか?

メンテナンスデータベースとはとは何ですか? ドキュメントごと

Postgresデータベースは、データベースクラスタが初期化されるときにも作成されます。このデータベースは、ユーザーとアプリケーションが接続するためのデフォルトのデータベースとして意図されています。これは単にtemplate1のコピーであり、必要に応じて削除および再作成できます。

13

ドキュメントから:

メンテナンスDBフィールドは、pgAdminが接続する初期データベースを指定するために使用され、pgAgentスキーマとadminpackオブジェクトがインストールされている(両方ともオプション)。 PostgreSQL 8.1以降では、メンテナンスDBは通常「postgres」と呼ばれ、以前のバージョンでは「template1」がよく使用されますが、テンプレートデータベースが煩雑にならないように、この目的で「postgres」データベースを作成することをお勧めします。

接続すると、接続できるサーバー上の他のデータベースのリストが表示されることを付け加えておきます。ただし、サーバー上の少なくとも1つのデータベースに接続するまで、そのリストを取得することはできません。

それが単に「DB」と呼ばれた場合、それは、接続できるそのサーバー上の唯一のデータベースであり、(潜在的に)いくつかのデータベースではないことを示唆しています。

9
jjanes