Невозможно предоставить все привилегии в схеме publi c пользователю в postgresql - PullRequest
0 голосов
/ 04 марта 2020

Я пытался дать пользователю все привилегии для доступа к таблице pg_largeobject в схеме publi c:

GRANT ALL PRIVILEGES ON SCHEMA PUBLIC TO my_user ;

, даже используя это:

GRANT ALL PRIVILEGES ON TABLE PG_LARGEOBJECT TO my_user;

возвращает эта ошибка:

ERROR:  permission denied for schema public

Как я могу дать привилегии этому пользователю, или я должен подключиться к базе данных с postgres, которая имеет привилегии суперпользователя?

Ответы [ 2 ]

1 голос
/ 04 марта 2020

Вы должны быть суперпользователем, чтобы предоставлять права на pg_largeobjects.

Но вы никогда не должны этого делать.

Нет необходимости изменять эту систему непосредственно в каталог, и это поставит под угрозу целостность вашей PostgreSQL базы данных.

Чтобы удалить большой объект, используйте

SELECT lo_unlink(4711);

Здесь 4711 - это OID большого объекта, который вы хотите удалить.

1 голос
/ 04 марта 2020

Вы можете предоставлять привилегии объектам, только если вы получили эти привилегии с опцией GRANT или вы предоставляете эти привилегии как суперпользователь.

...