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

Installation PostgreSQL Discussion :

script d'installation d'une base de données postgres


Sujet :

Installation PostgreSQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut script d'installation d'une base de données postgres
    Bonjour,
    Je dois créer un script pour créer une base de données postgres. Ce script est appelé en ligne de commande et contient des requêtes sql.

    Pour créer ma base, aucun souci, j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE DATABASE l5b_icg
      WITH OWNER = myowner
           ENCODING = 'UTF8';

    Ensuite j'ai voulu créer une table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE matable
    (
      id_ccfg character varying(255) NOT NULL DEFAULT ''::character varying,
      module_ccfg character varying(255) NOT NULL DEFAULT ''::character varying,
      value_ccfg character varying(255) DEFAULT NULL::character varying,
      CONSTRAINT copixconfig_pkey PRIMARY KEY (id_ccfg)
    )
    WITH (OIDS=FALSE);
    ALTER TABLE matable OWNER TO myowner;

    Et là c'est le drame. Je pense qu'il faut se positionner sur la base nouvellement créée, mais je n'ai pas pu trouver la commande (je pensais à USE l5b_icg, mais ça ne marche pas).

    Si quelqu'un peut m'aider....
    Merci d'avance,
    Mariek

  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
    Sous psql, c'est use c'est pour mysql
    Faire \? sous psql pour avoir les commandes disponibles

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta réponse.
    Si j'ai bien compris, je ne peux pas tout faire en une fois avec sql, en appelant un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql -f /mon/chemin/vers/script/script_db.sql -o /mon/chemin/vers/output/output
    Je dois donc commencer par créer ma base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql -c create database l5b_icg owner l5badm
    puis me positionner dessus :
    et ensuite lancer mon script.
    Tu confirmes ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Je me réponds à moi-même, ça servira peut-être à d'autres.
    Chez moi la commande psql -c CREATE DATABASE l5b_icg owner l5badm ne passe pas, j'ai un message :
    FATAL: database "database" does not exist
    je commence donc par me connecter sur la base postgres (en priant pour qu'elle existe systématiquement)
    puis je tape ma commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE DATABASE l5b_icg WITH OWNER = l5badm ENCODING = 'UTF8';
    Je quitte pqsl et je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql /mon/chemin/vers/script/script_db.sql -o /mon/chemin/vers/output/output -u l5b_icg

  5. #5
    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
    Il y a plusieurs petits problèmes dans les bouts de commande que tu montres.

    d'abord derrière psql -c s'il y a une commande qui comprend plusieurs mots, ce qui est en général le cas, il faut encadrer le tout par des apostrophes pour en faire un seul argument, du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psql -c 'CREATE DATABASE l5b_icg owner l5badm'
    Autre chose, pour se connecter à une base particulière, l'option qui précède le nom de la base est -d et non -u

    Et il est aussi possible de faire \c nomdelabase à l'intérieur d'un fichier sql, par exemple juste après avoir créé la base.

Discussions similaires

  1. [SQL] script de dump d'une base de donnée
    Par developpeur_mehdi dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/03/2010, 08h17
  2. Script de recherche dans une base de données
    Par kanzarih dans le forum Langage
    Réponses: 3
    Dernier message: 09/04/2009, 16h45
  3. c# - script de création d'une base de donnée
    Par SupaDan dans le forum C#
    Réponses: 3
    Dernier message: 01/04/2008, 12h57
  4. [PAMC11]Script de génération d'une base de données
    Par tbastien dans le forum Sybase
    Réponses: 1
    Dernier message: 22/04/2007, 01h03
  5. Réponses: 6
    Dernier message: 07/04/2007, 15h16

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