PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

A propos des roles

Technique - général | A propos des roles

Par pekka le 24/02/2006 - 13:03

Bonjour,

Une fois qu'un role est créé j'aimerai savoir dans quel table système il est stocké ? Est ce que chaque role possède un identifiant unique ?

Merci beaucoup pour vos réponses

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

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.


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


Merci beaucoup pour votre ré

pekka/ = 2 Mars, 2006 - 14:54

Merci beaucoup pour votre réponse.


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.


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


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.


© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.