7

PostgreSQL 8.3 で別のユーザーに権限を付与するのに問題があります。GRANT コマンドでエラーが発生することはありませんが、権限が表示されません。それらを「フラッシュ」する必要がありますか?

sirprize=# CREATE DATABASE testdb;
CREATE DATABASE
sirprize=# GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
GRANT
sirprize=# \c testdb
You are now connected to database "testdb".
testdb=# \z
 Access privileges for database "testdb"
 Schema | Name | Type | Access privileges
--------+------+------+-------------------
(0 rows)

testdb=#
4

1 に答える 1

11

\zデータベースに含まれるオブジェクトのテーブル、ビュー、およびシーケンスのアクセス許可を表示します。データベース自体の権限は表示されません。'testdb'内にテーブルまたはその他のオブジェクトを作成すると、\z'の出力に表示されます。

システムにどのデータベースが存在するかを\l(または\l+もう少し詳しく)確認できます。

セクション9.22を参照してください。特定のデータベースのユーザーにどの権限が存在するかをプログラムで判断する方法については、PostgreSQL8.3マニュアルを参照してください。

于 2008-09-16T21:41:57.397 に答える