PostgreSQL: restauration de la base de données à partir d'une erreur de syntaxe de dump
j'essaie de restaurer une base de données PostgreSQL en exécutant le SQL que pg_dump a créé, sur une base de données vide.
je reçois cette erreur:
ERROR: syntax error at or near ""
LINE 5211: .
<!-Les lignes 5210 et 5211 se lisent comme suit:
COPY auth_group (id, name) FROM stdin;
.
Cela fonctionne très bien sur mon serveur Linux, où j'utilise cette commande:
psql-U dbname < dumpfile.sql
mais sur Windows, Je ne sais pas comment faire la même chose, donc j'ai essayé d'exécuter le sql de dumpfile à partir de l'utilitaire de requête pgAdminIII.
Quelle est la méthode recommandée pour importer un db d'un dump sur Windows? Ou: comment résoudre ce problème de syntaxe?
Toute aide est très appréciée!
Martin
2 réponses
-f filename
argument psql va lire dans le fichier, donc vous n'avez pas à Le Piper. psql doit être inclus dans le répertoire bin de PostgreSQL sous windows. Comme ceci:
psql -d dbname -U username -f dumpfile.sql
vous devrez peut-être inclure un chemin complet vers l'exécutable psql s'il n'est pas sur votre chemin, et peut-être ajouter ".exe" à psql, de sorte qu'il est "psql.EXE."
assurez-vous également que vous n'allez pas vers le bas dans les numéros de version, j'ai couru dans les problèmes de syntaxe avant (E. G ne pas exporter une base de données 8.4 et essayez de le charger dans une base de données 8.1). Si oui, vous pourriez avoir à modifier manuellement le fichier de vidage.