Назад | Перейти на главную страницу

Новый пользователь не может видеть базу данных, к которой у него есть доступ в phppgadmin

Я в основном использую PostgreSQL в командной строке, но для других у меня недавно была причина настроить внешний интерфейс PHPPGAdmin.

Однако я столкнулся с проблемой - в то время как в командной строке у пользователей нет проблем с входом в систему и подключением к базе данных, к которой они должны иметь доступ, в интерфейсе PHPPGAdmin они не могут видеть базы данных, которые они используют. не владеют (но имеют доступ для чтения).

Я пробовал следующее:

GRANT CONNECT ON DATABASE example TO otheruser;
GRANT USAGE ON SCHEMA public TO otheruser;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO otheruser;

Как было сказано ранее, при использовании программного обеспечения или прямого подключения к командной строке этого достаточно, чтобы позволить им подключиться и ВЫБРАТЬ из базы данных; проблема, похоже, связана с PHPPGAdmin.

Любые предложения относительно того, что я могу упустить, приветствуются.

Хорошо, немного покопался в исходном коде, и то, что я упустил из виду, было в config.inc.php:

// Only show owned databases?
// Note: This will simply hide other databases in the list - this does
// not in any way prevent your users from seeing other database by
// other means. (e.g. Run 'SELECT * FROM pg_database' in the SQL area.)
$conf['owned_only'] = true;

Изменив это с true к false решил проблему.