Vous n'êtes pas identifié(e).
Pages : 1
Bonjour,
Je souhaite importer une base de donnée sur postgresql avec pgadmin3 ou si ce n'est pas possible en ligne de commande (sous windows7) et je ne trouve pas comment faire, il n'y a pas l'air d'avoir cette fonctionalité dans pgadmin3, si quelqu'un peut m'expliquer comment faire.
La base de donnée est un fichier .sql et j'ai deja creer le serveur et un "superutilisateur".
Codrialement.
Hors ligne
Si c'est un fichier SQL, ça ne sera pas avec pgAdmin. Il faut utiliser l'outil psql.
Guillaume.
Hors ligne
Merci, pourais -tu m'indiquer la commande à executer pour importer la base de donnée?
J'ai essayer pas mal de commande du style psql -U postgres -f "C:\app.sql" dans le terminal windows dans le repertoire bin de postgresql et ça me renvoie des erreurs ...
Ou si tu as un tuto interessant pour windows, j'ai pas trouvé grand chose sur l'importation de base de donnée.
Hors ligne
C'est bien la bonne commande. Faudrait donner les messages d'erreur pour qu'on en sache un peu plus.
Guillaume.
Hors ligne
Au debut ça m'affiche
SET
SET
etc..
puis ça m'envoie plein d'erreur du style
ERREUR: la relation "claquette" existe deja
ERREUR: la relation "category" existe deja
ERREUR: le rôle "claquette" n'existe pas
puis à la fin:
REVOKE
REVOKDE
GRANT
GRANT
j'ai l'impression que la base de donnée est mauvaise pourtant elle est censé être bonne :s
Hors ligne
Une base de données n'est ni bonne ni mauvaise. Là, l'erreur que vous attrapez (enfin, d'après les trois messages que vous donnez) indique que le script essaie de créer des tables qui existent déjà. Ce qui laisse supposer que vous essayez de restaurer votre base de données dans une base de données qui contient déjà les objets, ce qui ne peut pas fonctionner.
Commencez plutôt par créer une base de données (avec la commande createdb ou avec pgAdmin), puis lancez la commande psql de restauration en précisant le nom de la nouvelle base. Par exemple :
psql -U postgres -f "C:\app.sql" ma_nouvelle_base
Guillaume.
Hors ligne
Merci, j'ai recrée une base de donnée et avec cette commande ça à bien marché, il y avait aussi le problème avec claquette, l'utilisateur de la base de donnée n'était pas le même que la mienne, maintenant ça fonctionne
j'ai une autre question pour enregistré le resultat de la requete sql j'ai rajouté dans le fichier après la requete:
;\g C:\Users\moi\Desktop
j'ai essayé aussi avec
;\g C:\Users\moi\Desktop\fichier.txt
mais ça n'enregistre pas, dans les 2 cas ça me renvoie C:
permission denied alors que je suis en admin ... et
commande \Users invalide
et si je vais dans le dossier bin et que j'ouvre psql.exe (en admin) dans la console il me demande un mot de passe, j'ai essayer les mot de passe que j'ai mis pour mon utilisateur et ça ne marche pas, y aurait -t-il un mot de passe par defaut? J'ai essayer pas mal de truc sans resultat.
Hors ligne
Vous exécutez le \g avec quoi ? ça ne peut fonctionner qu'avec psql. D'autre part, une commande \ quelque chose ne peut s'exécuter que si le \ est le premier caractère, or je vois un point-virgule devant.
Quant au mot de passe demandé par psql, si vous n'avez pas utilisé l'option -U, psql utilise votre nom d'utilisateur Windows pour se connecter sur PostgreSQL. Par exemple, si je suis connecté en tant qu'utilisateur guillaume et si je fais un "psql b1", il peut me demander un mot de passe correspondant à mon utilisateur guillaume sous PostgreSQL. De toute façon, il vous indique le nom de l'utilisateur qu'il considère. Sous Windows, l'utilisateur postgres a le mot de passe indiqué lors de l'installation. Ensuite, pour les autres utilisateurs que vous pourriez avoir créé, il faut leur ajouter un mot de passe, sinon l'accès ne fonctionnera pas.
Guillaume.
Hors ligne
Pages : 1