IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

droits pour ALTER TABLE


Sujet :

PostgreSQL

  1. #1
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut droits pour ALTER TABLE...sans solution
    Bonjour,
    j'ai une fonction qui me lance un calcul tout bête, enfin pas tant que ça mais rien d'extraordinaire.
    Cependant, dans ce cas bien précis afin d'améliorer les temps de réponse, je souhaite faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ALTER TABLE ma_table DISABLE TRIGGER ALL;
    UPDATE ma_table à_partir_de mon_calcul;
    ALTER TABLE ma_table ENABLE TRIGGER ALL;
    ça se passe plutot pas mal...sauf que...ça se passe bien quand c'est moi ("DBA") qui le lance.

    mes chers utilisateurs ont le message suivant :
    PSQLDatabaseError: PostgreSQL Error Code: (1)
    ERREUR: doit ?tre le propri?taire de la relation t_period
    CONTEXT: instruction SQL <<ALTER TABLE t_period DISABLE TRIGGER ALL>>
    donc petit problème de droit.

    est-il possible d'exécuter une instruction avec des privilèges supérieurs à l'instant T . je rêve d'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE ma_table DISABLE TRIGGER ALL WITH mon_privilège_qui_va_bien
    merci d'avance

  2. #2
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Salut,

    Tes utilisateurs ont quels droits sur t_period??
    Si tu leur attribue des droits seulement sur les triggers??? ou que tu les mettes propriétaire et que tu enlèves les droits que tu veux pas qu'ils aient....??????

  3. #3
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    en fait, il semble que pour executer le ALTER, il faille être owner ou superuser...
    ce qui n'est donc pas possible pour mes utilisateurs.

    la dépersonnalisation est-elle possible sous PGSQL?

    j'ai honteusement créer le même topic dans langage SQL, fil de la conversation :
    http://www.developpez.net/forums/sho...37#post1829837

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    En faite je pensais à ce que TU leur attribue les droits sur les triggers, sous pgadminIII (c'est le plus simple y'a juste a cliquer) avec Postgres 8.x tu peux spécifier que certains droits à des personnes et donc donner à tes utilisateurs le droit de modifier la table mais pas supprimer, d'utiliser les triggers mais de ne pas insérer etc...

  5. #5
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    j'ai bien compris....sauf que les droits pour faire un ALTER ne sont pas dans cette fameuse liste sous pgAdmin.

  6. #6
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Arghhhhh!!!

    Autant pour moi!!!!! désolé faudrai que je change de lunettes!

  7. #7
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    utilise plutot GRANT ALTER TABLE TO ton_utilisateur ON t_period : cela permet d'autoriser l'utilisteur ton_utilisateur à faire des modifs sur la table t_period qui a comme owner si j'ai bien saisi le DBA (toi). sinon je ne vois pas comment tu pourrais acceder à une table qui n'ai pas à toi.

    bonne continuation

  8. #8
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    euh...elle vient d'où cette syntaxe??
    sous PGSQL, il a pas l'air d'en vouloir...

  9. #9
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    cette commande marche pour moi postgres 8.2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT, UPDATE, INSERT ON TABLE t_period TO ton_user
    excuses moi pour la syntaxe.

    bonne continuation

  10. #10
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    je suis en 8.1 mais c'est pas le problème.
    Moi aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT SELECT, UPDATE, INSERT ON TABLE t_period TO ton_user
    fonctionne sauf qu'on parlait d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALTER TABLE t_period TO ton_user
    ce qui n'est pas la même chose et n'est pas inclus dans la séquence précédente...
    une autre idée?

  11. #11
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Par défaut
    Et en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GRANT ALL ON perid_t TO user;
    est ce que tes commandes fonctionnent pour ton utilisateur user ??

  12. #12
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    non plus !!!

    Bon, cette fois, c'est sur...ce n'est pas possible..il faut être superuser.
    on a fait un paquet de tentative...on a bossé sur l'IRC de postgresql...

    et finalement, on a choisi une autre solution..

    merci à tous..

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL-5.6] DDL ONLINE pour ALTER TABLE et temp tables
    Par qadddd dans le forum Administration
    Réponses: 0
    Dernier message: 03/05/2013, 17h32
  2. Réponses: 2
    Dernier message: 01/03/2008, 00h39
  3. Droits nécessaires pour SHOW TABLE STATUS
    Par max-mag dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 30/10/2007, 12h03
  4. droits pour ALTER TABLE
    Par say dans le forum Langage SQL
    Réponses: 5
    Dernier message: 08/03/2007, 09h34
  5. alter table pour les tables innodb
    Par slyfer dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/10/2006, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo