PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 19/04/2016 19:49:30

Tipie
Membre

[DEBUTANT] problème lors de l'exécution d'un fichier sql

Bonjour
Je suis débutante en SQL et sur PostgreSQL et cherche à exécuter un fichier .sql (il s'agit de l'export d'une base de données ), j'ai entrer la commande suivante:

mabase=> \i C:\Users\Sand\Desktop\BDD\dep2011.sql

Mais j'obtiens le message d' erreur C: :permission denied, j'ai essayer de mettres des " " et des ' ' devant le chemin de mon fichier,mais j'ai toujours la même réponse. J'ai aussi essayer de remplacer les "\" par des "/" et j'ai des messages d'erreurs du type :

2016-04-19 10:17:42 CEST ERREUR:  droit refusé pour la base de données postgres
2016-04-19 10:17:42 CEST INSTRUCTION :  CREATE SCHEMA dep2011;
2016-04-19 10:17:42 CEST ERREUR:  le rôle « blabla » n'existe pas
2016-04-19 10:17:42 CEST INSTRUCTION :  ALTER SCHEMA dep2011 OWNER TO blabla;
2016-04-19 10:17:42 CEST ERREUR:  droit refusé pour le schéma pg_catalog au caractère 14
2016-04-19 10:17:42 CEST INSTRUCTION :  CREATE TABLE agent2011 (   
2016-04-19 10:17:42 CEST ERREUR:  la relation « agent2011 » n'existe pas

Je précise aussi que je travaille sur  windows.

Si quelqu'un a une idée pour me débloquer ...
Merci d'avance de vos réponses

Hors ligne

#2 19/04/2016 20:08:41

rjuju
Administrateur

Re : [DEBUTANT] problème lors de l'exécution d'un fichier sql

Remplacer les « \ » par des « / » a visiblement résolu le premier problème. Pour le reste, il s'agit d'erreur dans votre script (au minimum, des droits insuffisants pour l'utilisateur lançant le script et l'absence d'utilisateurs).

En ligne

#3 19/04/2016 21:05:38

Tipie
Membre

Re : [DEBUTANT] problème lors de l'exécution d'un fichier sql

Merci de votre réponse,
Et selon vos quelles seraient la marche à suivre afin de réparer ces erreurs ? contacter le créateur de la base ou faire autre chose ?

Hors ligne

#4 19/04/2016 21:12:34

rjuju
Administrateur

Re : [DEBUTANT] problème lors de l'exécution d'un fichier sql

Oui, vous devez voir avec une personne pouvant vous donner plus de droits. Vérifiez également que vous exécutez votre script dans la bonne base (dans votre exemple, vous partez de la base mabase et les messages concernent apparemment la base postgres).

Concernant le rôle manquant, c'est soit une erreur dans le script soit une erreur survenant plus tôt.

En ligne

#5 19/04/2016 21:57:50

Tipie
Membre

Re : [DEBUTANT] problème lors de l'exécution d'un fichier sql

J'ai une nouvelle fois exécuté le script dans le bon répertoire, et cette fois j'obtiens le message d'erreur suivant:
2016-04-19 21:43:22 CEST LOG:  n'a pas pu recevoir les données du client : unrecognized winsock error 10061
2016-04-19 21:48:17 CEST ERREUR:  le schéma « dep2011 » existe déjà
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE SCHEMA dep2011;
2016-04-19 21:48:17 CEST ERREUR:  le rôle « aaaa » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER SCHEMA dep2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 315
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE agent2011 (
        id character varying NOT NULL,
        age integer,
        sexe character varying,
        statut character varying,
        role character varying,
        activite character varying,
        formation character varying,
        agefinetude integer,
        revenu integer,
        idmenage character varying,
        geom public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « agent2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE agent2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 225
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE trace2011 (
        idagent character varying NOT NULL,
        idtrace integer NOT NULL,
        station boolean,
        motif character varying,
        tstart integer,
        tend integer,
        mode character varying,
        minpoint public.geometry,
        maxpoint public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « trace2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE trace2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  le type « public.geometry » n'existe pas au caractère 109
2016-04-19 21:48:17 CEST INSTRUCTION :  CREATE TABLE trace_detail2011 (
        idagent character varying,
        idtrace integer,
        t integer,
        geom public.geometry
    );
2016-04-19 21:48:17 CEST ERREUR:  la relation « trace_detail2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  ALTER TABLE trace_detail2011 OWNER TO aaaa;
2016-04-19 21:48:17 CEST ERREUR:  la relation « agent2011 » n'existe pas
2016-04-19 21:48:17 CEST INSTRUCTION :  COPY agent2011 (id, age, sexe, statut, role, activite, formation, agefinetude, revenu, idmenage, geom) FROM stdin;
2016-04-19 21:48:18 CEST ERREUR:  erreur de syntaxe sur ou près de « IND250580000001155 » au caractère 1
2016-04-19 21:48:18 CEST INSTRUCTION : xxxxxxx (déolé je ne peux ps exactement mettre ce qui est écrit, il s'agit de donnée sensibles) COPY trace2011 (idagent, idtrace, station, motif, tstart, tend, mode, minpoint, maxpoint) FROM stdin;

Aurais-je du créer une table avant d'exécuter le script ? D'ailleurs est il possible de créer une table sans avoir un nombre exact de ligne ?

Hors ligne

#6 19/04/2016 22:19:49

rjuju
Administrateur

Re : [DEBUTANT] problème lors de l'exécution d'un fichier sql

Vous avez de nombreuses erreurs, dépendance manquante (postgis), objets déjà présents, rôle n'existant pas. À vue de nez, cela ressemble à une restauration de données. Je vous conseille de regarder http://docs.postgresql.fr/9.5/app-pgdump.html http://docs.postgresql.fr/9.5/app-pgrestore.html et http://docs.postgresql.fr/9.5/app-psql.html pour voir comment sauvegarder et restaurer des données.

Pour répondre à vos questions :

Aurais-je du créer une table avant d'exécuter le script ?

Aucune idée, à vous de nous le dire

D'ailleurs est il possible de créer une table sans avoir un nombre exact de ligne ?

Oui, c'est même le but.

En ligne

Pied de page des forums