как установить tablegunc для postgres как не-poweruser - PullRequest
0 голосов
/ 13 сентября 2011

В рамках нашей тестовой среды php data мы начинаем с удаления и создания тестовой базы данных для пользователя, выполняющего тест (назовем его 'foo').

Наш шаблон1 не имеет общедоступной схемы. Это потому, что нам нужен тестовый db, чтобы 'public' принадлежал 'foo' (и по умолчанию, даже если 'foo' создает db, Postgres сделает 'public' принадлежащим 'postgres', а не 'foo')

Теперь нам нужно установить tablefunc в этой тестовой базе данных. Tablefunc включает в себя функции C, которые нельзя установить как не суперпользователь (например, наш пользователь 'foo')

Может, и как это можно достичь? В любом случае наши тесты php data ДОЛЖНЫ выполняться как не суперпользовательские.

1 Ответ

1 голос
/ 13 сентября 2011

Вы можете временно обработать c язык как доверенный язык и установить tablefunc как не суперпользователь:

UPDATE pg_language SET lanpltrusted = true WHERE lanname LIKE 'c';

См. Мой предыдущий ответ для получения дополнительной информации

...