Vous n'êtes pas identifié(e).

#1 05/05/2017 11:04:11

grant (suite)

Bonjour,

Je fais :

revoke all privileges on all tables in schema sync from generic_user;
grant all privileges on all tables in schema sync to generic_user with grant option;

Dans le passé, j'avais fait

grant generic user to daniel

Et quand, je fais

psql dev_contacts_server daniel
delete from sync.log;

Je reçois

ERROR:  permission denied for schema sync
LINE 1: delete from sync.log;

Je ne comprends pas... Que faire ?

Hors ligne

#2 05/05/2017 11:22:03

rjuju
Administrateur

Re : grant (suite)

Donner les droits adéquats (GRANT USAGE) sur le schéma sync en plus des objets contenus dans ceux-ci.

Hors ligne

#3 05/05/2017 11:28:34

Re : grant (suite)

Si je comprends bien :

revoke all privileges on all tables in schema sync from generic_user;
grant all privileges on all tables in schema sync to generic_user with grant option;

grant usage on schema sync to generic_user with grant option;

Vous ai-je bien compris ?

Merci

Hors ligne

#4 05/05/2017 14:14:57

Re : grant (suite)

Bon... Je suis un cran plus loin.

Maintenant, un script lancé avec -U daniel me donne:

ERROR:  function sync.update_handler(character varying, audit_history) does not exist
LINE 1: SELECT sync.update_handler(sync_schema_name, r.*)
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
QUERY:  SELECT sync.update_handler(sync_schema_name, r.*)

Alors que, pgadmin me dit, que cette fonction du schema sync a été grantée à generic user (avec grant option) et generic_user a été granté à daniel.
Je pédale dans la choucroute...

Hors ligne

#5 05/05/2017 14:21:31

Re : grant (suite)

La fonction vu dans pgadmin3 :

CREATE OR REPLACE FUNCTION sync.update_handler(
    schema_name character varying,
    r public.audit_history)

Pourquoi public ? Les fonctions sans cette variable, je peux les appeler à partit de l'user daniel. C'est sans doute ce qui crée le problème...

Hors ligne

Pied de page des forums