サーバー管理者がクライアント(ローカル)の要求に応じて PostgreSQL データベースアカウントの発行作業を例に説明します。便宜上、PostgreSQL データベースアカウントの発行はスーパーユーザーである postgres を使用しています。
phpPgAdmin を利用したデータベースユーザーの追加は以下のようにします。ここでは便宜上、postgres を使用しますが、サーバー管理者が phpPgAdmin を利用したユーザー管理を行う場合はサーバ管理者専用のスーパーユーザーを作成して行う事をお勧めします。
ちなみに postgres で phpPgAdmin を利用する場合は、 phpPgAdmin.conf の設定で
$conf['extra_login_security'] = false;
と設定する必要があります。
phpPgAdmin の公開アドレスにアクセスします。ページ左上の PostgreSQL をクリックすると認証を求められます。
PostgreSQL のスーパーユーザーアカウントである postgres と設定したパスワードでログインしますが、 先ず、認証なしでログインできないか、Unix アカウントでログインできないか、ポリシどおりか必ず確認してください。
問題があれば PostgreSQL の設定 pg_hba.conf を見直します。
PostgreSQL Server からみれば PostgreSQL サーべへ接続しているのは、ブラウザを操作しているクライアントではなく、PHP が動作している Webサーバーがクライアントである事に注意します。
ユーザーを追加した場合も、追加したユーザーでログインする際に認証をスキップしていないかパスワードなしで試して下さい。
インターフェイスは直感的でユーザーの追加、データベースの作成と削除、データベースのバックアップなどの基本操作は phpMyAdmin よりも分かり易いです。
スーパーユーザーは管理者権限のないユーザーに対してはチェックを入れません。データベースを作成しますかにチェックを入れると、作成したアカウントでユーザーは自由にデータベースを作成できるようになります。
管理者自らがユーザーに対してデータベースを与えたい場合、チェックは入れません。作成したユーザーだけが権限を持つデータベースを管理者が用意する必要があります。この辺は運用ポリシーによって違ってきます。
次は、データベースを作成しますか?にチェックを入れた場合のユーザーアカウントで、ログインしユーザーだけが権限をもつデータベースの作成手順を説明します。
これら一連の作業を CUI で行う場合は、以下のようになります。
UNIX アカウント postgres でログインします。 CentOS-4.5 で rpm によるインストールを行った場合は作成されています。
PostgreSQL アカウント pospos を作成する例です。
PostgreSQL アカウントを削除する場合は dropuser を使います。