J'essaie de restaurer une base de données PostgreSQL en exécutant le SQL créé par pg_dump, 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 nom_base <fichier_dump.sql
mais sous Windows, je ne sais pas comment faire de même, j'ai donc essayé d'exécuter le sql du fichier de vidage à partir de l'utilitaire de requête pgAdminIII.
Quelle est la méthode recommandée pour importer une base de données à partir d'un vidage sous Windows? Ou: comment résoudre ce problème de syntaxe?
Toute aide est très appréciée!
Martin
Le -f filename
argument on psql lira le fichier, vous n'avez donc pas besoin de le canaliser. psql devrait être inclus dans le répertoire bin de PostgreSQL dans windows. Ainsi:
psql -d dbname -U username -f dumpfile.sql
Vous devrez peut-être inclure un chemin complet vers l'exécutable psql s'il ne se trouve pas sur votre chemin, et éventuellement ajouter ".exe" à psql, il s'agit donc de "psql.exe".
Assurez-vous également que vous ne descendez pas dans les numéros de version, j'ai déjà rencontré des problèmes de syntaxe (par exemple, n'exportez pas une base de données 8.4 et essayez de la charger dans une base de données 8.1). Si tel est le cas, vous devrez peut-être modifier manuellement le fichier de vidage.
essayez avec psql -d nom_base -U utilisateur - f dumpfile.sql