Привилегии Postgres pgcrypto

Я установил расширение pgcrypto в качестве суперпользователя следующим образом:

CREATE EXTENSION pgcrypto;

Как суперпользователь, я протестировал его, и он работает:

select gen_salt('bf');
           gen_salt
-------------------------------
 $2a$06$CJPcLcOBZnCEl.Z5ChrSbO

Но при входе под другим пользователем выдает ошибку:

select gen_salt('bf');
ERROR:  function gen_salt(unknown) does not exist

Как сделать библиотеку pgcrypto видимой для всех пользователей?

Спасибо.


person Doo Dah    schedule 14.09.2015    source источник
comment
Вы уверены, что вошли в ту же базу данных? Расширения указаны для каждой базы данных.   -  person Sami Kuhmonen    schedule 14.09.2015
comment
смешной. Глупая ошибка. В этом была проблема. Добавьте это как ответ, если хотите, и я могу правильно отметить это для других.   -  person Doo Dah    schedule 14.09.2015


Ответы (1)


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

person Sami Kuhmonen    schedule 14.09.2015
comment
Для тех, кому интересно, как включить расширения, на левой панели pgAdmin разверните свиток Базы данных -> щелкните правой кнопкой мыши на расширениях -> выберите Создать -> выберите < i>Расширение -› в поле Имя выберите предпочитаемое имя расширения (например, pgcrypto) -› нажмите Сохранить. - person Romeo Sierra; 05.02.2020