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 :

[9.3] Informations sur les schémas, tables, colonnes etc restreintes à ceux créés par des utilisateurs


Sujet :

PostgreSQL

  1. #1
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut [9.3] Informations sur les schémas, tables, colonnes etc restreintes à ceux créés par des utilisateurs
    Bonjour,

    Je fais quelques tests et je souhaite lister des informations sur les objets créés par des utilisateurs, à l'exclusion de ceux créés par PG à "usage interne".

    En requêtant, information_schema.schemata, je reçois bien les informations sur les schémas, à l'exception du schéma 'public' même si ce dernier contient des tables créées par un utilisateur.
    Comment / où puis-je trouver l'information qui me permettrait de recenser tous les schémas existants et susceptibles d'une utilisation applicative standard (donc sans tenir compte d'interventions sur les objets 'systèmes'), y compris donc 'public' ?

    De la même manière, ou plutôt à l'inverse, comment puis-je restreindre à une liste des tables créées par les utilisateurs, la liste des tables que génère une requête sur information_schema.table ou .columns, qui en comporte plus de 150 en sus des tables créées par les utilisateurs ?

    En résumé, je voudrais extraire ni plus ni moins que les informations que je peux par exemple voir dans phpPgAdmin.

    Déjà merci

    Hemgé

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    schemata n'est réellement intéressant que quand on est loggé en tant que superuser. Sinon on ne voit qu'une partie et ça n'est pas très utile.

    Le détail du pourquoi est expliqué en anglais ici:
    http://www.postgresql.org/message-id...@sss.pgh.pa.us

    Personnellement je préfère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nspname from pg_namespace where nspname !~ '^pg_' ;

  3. #3
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    OK, merci.

    Et donc, dans la même perspective, il me suffit d'interroger les vues du schéma d'information (par ex. columns ou tables) en excluant les table_schema 'information_schema' et 'pg_catalog'.
    Ce qui fonctionne comme souhaité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT  table_schema, table_name 
    FROM information_schema.tables
    WHERE table_schema <> 'information_schema' AND  table_schema <> 'pg_catalog' 
    ORDER by table_schema ;
    Merci et bonne journée.

    Hemgé

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/07/2013, 12h29
  2. Informations sur les clés d'une table
    Par ludogoal dans le forum Développement
    Réponses: 2
    Dernier message: 29/06/2010, 11h02
  3. Information sur les tables de fond
    Par Dale_L dans le forum Entreprise Manager
    Réponses: 1
    Dernier message: 10/10/2008, 22h04
  4. Informations sur les tables liées
    Par ThunderBolt_ dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/07/2007, 13h47
  5. Réponses: 5
    Dernier message: 30/10/2006, 16h23

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