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 :

Recupérer DDL Tables


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    jnore
    Invité(e)
    Par défaut Recupérer DDL Tables
    Bonjour,

    Je souhaite sauvegarder par un script php la structure de ma base de données.
    Y a t-il moyen de récupérer la liste des définitions (DDL) de chacune des tables appartenant à ma base?
    Je sais que l'on peut le faire sur les vues avec la requete "SELECT definition FROM pg_views where schemaname='public' ".

    Merci pour votre participation.

  2. #2
    jnore
    Invité(e)
    Par défaut
    voici la méthode pour ceux que ca interesse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SELECT
    foo.relname as table,
    a.attname as colonne,
    pg_catalog.format_type(a.atttypid, a.atttypmod) as type,
    (SELECT substring(pg_catalog.pg_get_expr(d.adbin, d.adrelid) for 128)
    FROM pg_catalog.pg_attrdef d
    WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef)
    as valeur_par_defaut,
    a.attnotnull as null_possible,
    a.attnum as ordre
    FROM pg_catalog.pg_attribute a,
    (SELECT
    c.oid as id,
    c.relname as relname
    FROM pg_catalog.pg_class c
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
    WHERE c.relkind IN ('r','')
    AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
    AND pg_catalog.pg_table_is_visible(c.oid)) foo
    WHERE a.attrelid = foo.id
    AND a.attnum > 0 AND NOT a.attisdropped
    ORDER BY foo.relname, a.attnum;

  3. #3
    Membre expérimenté Avatar de budtucker
    Profil pro
    Développeur multimédia
    Inscrit en
    Avril 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Avril 2007
    Messages : 176
    Par défaut
    Elle est pas mal cette requête, mais attention, elle ne regarde que dans le shéma public !!!

  4. #4
    jnore
    Invité(e)
    Par défaut
    Tout a fait !
    Je suis ouvert aux propositions pour ce qui est d'étendre cela aux autres shémas.

Discussions similaires

  1. [Débutant] Recupération de table avec htmlagilitypack
    Par a.floranc dans le forum VB.NET
    Réponses: 8
    Dernier message: 17/06/2012, 21h25
  2. [MySQL] Recupérations de tables sur plusieurs bases
    Par Tlams dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/10/2010, 16h36
  3. recupérer 2 tables et les trier
    Par omelhor dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/06/2007, 12h58
  4. [Tableaux] recupération de la variabe table
    Par guillaumeIOB dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2006, 02h27
  5. [DDL] "object <table> is in use"
    Par TMuet dans le forum SQL
    Réponses: 4
    Dernier message: 26/01/2004, 10h18

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