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 :

Cloner une structure de BDD (interface Pgadmin)


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 129
    Points : 57
    Points
    57
    Par défaut Cloner une structure de BDD (interface Pgadmin)
    Bonjour,

    Je me suis mis à PostgreSql depuis peu et je commence à le trouver vraiment bien. J'ai donc créé ma bdd et je voudrais en faire un double sous un autre nom. J'ai donc suivi un tuto sur le net où il était question de sauvegarder (clic droit sur la BDD, Sauvegarder, fichier plat+structure uniquement)

    J'obtiens un fichier SQL...qui ne fonctionne pas apparemment. En effet, je suis allé dans l’exécuteur de requêtes et j'obtiens une erreur en lançant le script:

    ERREUR: erreur de syntaxe sur ou près de « \ »
    LINE 28: \connect ma_nouvelle_bdd
    ^
    ********** Erreur **********

    ERREUR: erreur de syntaxe sur ou près de « \ »
    État SQL :42601
    Caractère : 697


    Merci d'avance pour vos éclairages,

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    --
    -- PostgreSQL database dump
    --
     
    -- Dumped from database version 9.5.3
    -- Dumped by pg_dump version 9.5.3
     
    -- Started on 2016-07-29 14:56:23
     
    SET statement_timeout = 0;
    SET lock_timeout = 0;
    SET client_encoding = 'UTF8';
    SET standard_conforming_strings = on;
    SET check_function_bodies = false;
    SET client_min_messages = warning;
    SET row_security = off;
     
    --
    -- TOC entry 2139 (class 1262 OID 16393)
    -- Name: ma_nouvelle_bdd; Type: DATABASE; Schema: -; Owner: postgres
    --
     
    CREATE DATABASE ma_nouvelle_bdd WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'French_France.1252' LC_CTYPE = 'French_France.1252';
     
     
    ALTER DATABASE ma_nouvelle_bdd OWNER TO postgres;
     
    \connect ma_nouvelle_bdd
     
    SET statement_timeout = 0;
    SET lock_timeout = 0;
    SET client_encoding = 'UTF8';
    SET standard_conforming_strings = on;
    SET check_function_bodies = false;
    SET client_min_messages = warning;
    SET row_security = off;
     
    --
    -- TOC entry 1 (class 3079 OID 12355)
    -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: 
    --
     
    CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
     
     
    --
    -- TOC entry 2142 (class 0 OID 0)
    -- Dependencies: 1
    -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: 
    --
     
    COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
     
     
    SET search_path = public, pg_catalog;
     
    SET default_tablespace = '';
     
    SET default_with_oids = false;
     
    --
    -- TOC entry 189 (class 1259 OID 16625)
    -- Name: calculs_config_mat; Type: TABLE; Schema: public; Owner: postgres
    --
    création des tables etc etc...

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Dans PostGreSQL, les bases de données sont cloisonnées. Vous pouvez créer autant de BD que vous voulez dans une même instance de PostGreSQL (ce que PG appelle d'ailleurs "cluster"...) mais vous ne pouvez pas naviguer d'une base à l'autre par une commande SQL.

    Dès lors votre script comporte deux parties :
    • La création de la base, qui pour des raisons évidente, ne peut s'exécuter dans une base qui n'existe pas encore....
    • La construction des objets dans la base créée à l'étape précédente.

    Entre les deux, le script vous demande de vous reconnecter à la base nouvellement créée. C'est le sens de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \connect ma_nouvelle_bdd
    Dans d'autres SGBDR comme SQL Server dont les bases ne sont pas cloisonnées, et vous pouvez passer de l'une à l'autre par la commande USE....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    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
    Le fichier tel que tu l'as, doit être exécuter par psql.
    Pour l'utiliser dans pgAdmin...
    1. créer une nouvelle base avec le nom que tu veux
    2. te connecter sur la nouvelle base
    3. ouvrir ton fichier
    4. enlever toute la partie jusqu'à la ligne de connect (y compris)
    5. lance le tout
    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. Réponses: 7
    Dernier message: 18/12/2014, 20h53
  2. [Conception]structure de BDD pour gérer une arborescence
    Par petitours dans le forum Modélisation
    Réponses: 11
    Dernier message: 13/04/2007, 16h58
  3. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01
  4. [toFAQ][socket] Envoi d'une structure
    Par julien20vt dans le forum C++
    Réponses: 15
    Dernier message: 23/04/2003, 15h47
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

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