PostgreSQLのセットアップに関して何かが欠けているに違いありません。私がやりたいのは、特定のユーザーが指定したデータベースにのみアクセスできるように、互いに分離された複数のデータベースとユーザーを作成することです。しかし、私が判断できることから、作成されたユーザーは、特定の許可が与えられなくてもすべてのデータベースにアクセスできます。
Ubuntu Server 12.04で行うことは次のとおりです。
- apt-get postgresqlをインストール
- sudo -u postgres createuser -DRSP mike1(新しいユーザーのパスワードの指定)
- sudo -u postgres createdb data1
- psql -h localhost -U mike1 data1(ログインするユーザーmike1のパスワードの指定)
新しいユーザー「mike1」は、データベース「data1」に接続してテーブルなどを作成しても問題ないようです。また、これは、GRANTコマンドをまったく実行せずに(および「data1」の所有者は「postgres手順3)の所有者。これは実際にどのように機能するはずですか?
私がやりたいのは、mike1にdata1へのフルアクセスを許可してから、これをより多くのユーザーとデータベースに対して繰り返し、ユーザーが選択した1つ(またはおそらく複数)のデータベースにのみアクセスできるようにすることです。