権限を付与したいユーザで表を作成すればアクセスできます。
作成者以外に対しては、GRANTで権限を付与する必要があります。
http://www.postgresql.jp/document/pg732doc/reference/sql-grant.html
調べてみました・・・
config.inc.php というファイル内の下記の項目をtrueに変更しておけば、
そのDBのオーナーだけが管理できるようになるそうです
$conf['owned_only'] = false; ↓ $conf['owned_only'] = true;
ファイルの場所はOSによりますがCentOSを例にとると下記
/var/www/phppgadmin/conf/config.inc.php
既に作成しているほかのDBのテーブルを編集することもできてしまっているようです。
というのは、他の DB のテーブルが、今、焦点になっているユーザに権限を与えている、ということになります。この事は、
管理者IDにて、「ロール」の項目から、上記のユーザをこのように設定しています。
スーパーユーザーですか? いいえ
データベースを作成しますか? いいえ
ロールを作成できますか? いいえ
......
というところを見ても分かりません。テーブル側の「特権」を見る必要があります。実際に「操作出来てしまうテーブル」を選択して「特権」を見れば、そのテーブルに対して、どんな操作が、どんなユーザに対して許可されているのか、という事が分かります。
で、ここは想像なのですが、おそらくその「操作出来てしまうテーブル」に、焦点になっているユーザに対して、ピンポイントで特権が設定されている訳ではないと思います。
特権の与え方として、「このユーザに権利を与える」という代わりに「みんなに与える」というやり方があります。
GRANT
お使いのバージョンに一番近いマニュアルが上記のページになりますが、phpPgAdmin を使って権利を与える設定をした時に、実際に実行される SQL 文がこの GRANT です。で、この記述の中の「PUBLIC」というのがあるます。これが「みんな」を表します。
実際、あるテーブルを選択した状態で「特権」を表示させ、そこで「権限」をクリックすると、「PUBLIC」というチェックボックスがあると思います。この「PUBLIC」にチェックを入れて「ALL PRIVILEGES」にチェックを入れれば、そのテーブルはみんながいじり放題、という状態になります。
「特権」の表示では、この「PUBLIC」に対するものは、ロールが空白になっているものが該当します。
...とここまで、手元で動かしてみた phpPgAdmin を元に書いていますが、phpPgAdmin のバージョンによって、画面上の文言等が異なっている可能性はあります。ちなみに手元のバージョンは 5.0.3 でした。
ということで、考え方として、ロールから見るのではなく、データベースやテーブルから見ていって、どんなロールに対してどんな操作が許可されているのか、といった調べたかたになります。
で、
そのDBのユーザに割り当てたDB以外は見れないように設定
するのであれば、その DB 以外の DB の特権を変更する必要があることになります。