2008-09-16 10 views
4

У меня возникли проблемы с предоставлением привилегий другому пользователю в PostgreSQL 8.3. Хотя команда GRANT не дает мне никаких ошибок, привилегии не отображаются. Нужно ли «смывать» их?Недоступны привилегии PostgreSQL 8.3 - неправильное использование?

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=# 

ответ

9

\ z Показывает разрешения для таблиц, представлений и последовательностей для объектов, содержащихся в базе данных. Он не отображает разрешения для самой базы данных. Если вы создадите таблицу или какой-либо другой объект в «testdb», он будет отображаться в выводе \ z.

Вы можете видеть, какие Базы данных существуют в вашей системе с \ l (или \ l + для получения дополнительной информации).

См. section 9.22. of the PostgreSQL 8.3 manual для получения информации о том, как программно определить, какие разрешения существуют для пользователя в данной базе данных.

+0

Спасибо! Теперь мне нужно только выяснить, почему phpPgAdmin не поддерживает базу данных при подключении в качестве testuser, тем самым предотвращая даже создание новой таблицы. Но это будет другой вопрос здесь;) – sirprize 2008-09-17 20:41:56