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

Administration PostgreSQL Discussion :

Créer des tables dans un schema spécifique en ligne de commande


Sujet :

Administration PostgreSQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 25
    Points : 19
    Points
    19
    Par défaut Créer des tables dans un schema spécifique en ligne de commande
    Bonjour !

    J'ai un batch qui me permet de créer une base de donnée psql et de créer par la suite des tables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    psql -f "%cd%\db.sql" postgres
    echo la base de données a été créées !
    pause
    psql -f "%cd%\db_table.sql" mabase postgres
    echo   les tables  ont étés créées !
    Le fichier db.sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE DATABASE mabase;
    Et le fichier db_table.sql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create table myTable(
       idTable               INT4                 not null,
       nom                  VARCHAR(254)         null,
       date           DATE                 null,
       constraint PK_idTable primary key (idTable)
    );

    Ce batch s'exécute très bien sans problème et créé la base de donnée ainsi que la table.


    Mon problème est que la table est créée dans le schéma par défaut public. Ce que j'aimerais faire c'est de créer un schema d'abord, ça j'arrive à le faire avec une ligne de plus dans mon batch :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    psql -f "%cd%\schema.sql" mabase postgres
    Le fichier schema.sql:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CREATE SCHEMA mabase_schema;
    Maintenant le problème est de créer la table dans le nouveau schéma et non pas dans le schema public.

    J'ai essayé avec la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    psql -f "%cd%\db_table.sql" mabase_schema.mabase postgres
    Mais sans succès !

    Comment pourrai-je définir le schéma dans mon fichier batch ?

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Dans le fichier db_table.sql:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    create table mabase_schema.myTable(
       idTable               INT4                 not null,
       nom                  VARCHAR(254)         null,
       date           DATE                 null,
       constraint PK_idTable primary key (idTable)
    );
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

Discussions similaires

  1. [Débutant] créer des champs dans une table temporaire
    Par djelloharmel dans le forum VB.NET
    Réponses: 1
    Dernier message: 22/02/2012, 13h25
  2. Réponses: 4
    Dernier message: 24/02/2010, 22h42
  3. Réponses: 1
    Dernier message: 19/08/2009, 21h20
  4. Réponses: 2
    Dernier message: 04/06/2009, 14h49
  5. Réponses: 1
    Dernier message: 22/12/2005, 09h03

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