J'ai trouvé ma réponse.
To
pekka/ = 24 FĂ©vrier, 2006 - 15:05
J'ai trouvé ma réponse.
Tout se trouve dans la table pg_roles
Cette table comporte un argument de type oid. Pouvez-vous me donner plus d'explication sur celui-ci ? Je n'ai rien trouvé dans la doc de PostGreSQL.
Et sinon est-il possible d'ajouter de nouveaux arguments Ă cette table ?
Merci beaucoup pour votre aide.
[ Vous devez
vous connecter pour poster des commentaires ]
Bonjour,
Pour la colon
Jean-Paul Argudo/ = 27 FĂ©vrier, 2006 - 09:07
Bonjour,
Pour la colonne oid de la table pg_roles, il s'agit d'un identifiant unique d'objet (object id); c'est interne à PostgreSQL, et c'est expliqué dans ce passage de la documentation de PostgreSQL.
C'est à dire que la clé utilisée pour faire le lien entre la table pg_roles et pg_authid est l'oid de la table pg_authid... Pour être un peu plus clair, regardez le dernier élement du SELECT constituant la vue pg_roles:
tests=> \d pg_roles
[...j'occulte volontairement le détail des champs...]
DĂ©finition de la vue
SELECT pg_authid.rolname, pg_authid.rolsuper, pg_authid.rolinherit,
pg_authid.rolcreaterole, pg_authid.rolcreatedb,
pg_authid.rolcatupdate, pg_authid.rolcanlogin,
pg_authid.rolconnlimit, '********'::text AS rolpassword,
pg_authid.rolvaliduntil, pg_authid.rolconfig, pg_authid.oid
FROM pg_authid;
Evidement, si vous faites un \d pg_authid dans psql, la colonne oid n'apparaît pas: c'est un identifiant interne. Par contre il est "sélectionnable", comme le prouve la définition de cette vue.
J'espère que j'ai été clair !
Quant Ă l'ajout de nouveaux arguments Ă cette table, vous l'aurez compris, il s'agit d'une vue :-)
Ce que je vous conseille, c'est de ne surtout pas modifier des vues et/ou tables système: faites votre propre table "à côté" et faites une nouvelle vue, ce sera bien plus propre !
Cordialement,
--
Jean-Paul ARGUDO
www.dalibo.com
[ Vous devez
vous connecter pour poster des commentaires ]
Merci beaucoup pour votre ré
pekka/ = 2 Mars, 2006 - 14:54
Merci beaucoup pour votre réponse.
[ Vous devez
vous connecter pour poster des commentaires ]
Bonjour,
J'ai une autre in
pekka/ = 10 Mars, 2006 - 13:38
Bonjour,
J'ai une autre interrogation à propos des roles. Est ce que la creation de 100 000 roles ralentit les performances de la base de données (tps de traitements d'une lourde requete par exemple).
Merci beaucoup pour votre réopnse.
[ Vous devez
vous connecter pour poster des commentaires ]
Non, je ne vois pas en quoi
Jean-Paul Argudo/ = 10 Mars, 2006 - 17:33
Non, je ne vois pas en quoi cela relentirait quoi que ce soit. Au pire, le temps de connexion va être rallongé de quelques dizaines de millisecondes (le temps de trouver les droits associés au rôle qui se connecte)...
D'un autre côté, votre question me laisse quelque peu perplexe: comment pourriez vous avoir besoin de 100.000 rôles ?
--
Jean-Paul ARGUDO
www.dalibo.com
[ Vous devez
vous connecter pour poster des commentaires ]
Bonjour,
100 000 personnes
pekka/ = 17 Mars, 2006 - 14:23
Bonjour,
100 000 personnes peuvent avoir accés à leurs informations sur certaines tables donc il m'est utile d'associer un role à chacune de ses personnes.
Vous aviez raison, la création de 100 000 rôles ne ralentit pas les performances de la bdd.
Par contre, je tiens à souligner que la création des 100 000 rôles a été très longues. Existe-t-il des raisons à cela ?
Pour créer 100 000 rôles j'ai tout simplement lancé un script Perl qui répète 100 000 fois l'execution d'une requete de création de rôle avec un nom différent à chaque itération évidemment. L'execution de ce script a duré plus de 3 heures.
Merci pour vos réponses.
[ Vous devez
vous connecter pour poster des commentaires ]