Dans PostgreSQL, comment insérer des données avec la commande COPY?
J'ai un problème lors de l'exécution 1 projet NodeJs avec une base de données PostgreSQL.
J'ai d'erreur lorsque vous essayez d'insérer des données dans pgAdmin à l'aide de la COPY
commande.
COPY beer (name, tags, alcohol, brewery, id, brewery_id, image) FROM stdin;
Bons Voeux blonde 9.5 Brasserie Dupont 250 130 generic.png
Ces données dans
gist:
Cette erreur:
ERROR: syntax error at or near "Bons"
SQL state: 42601
Character: 1967
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
n'est pas pris en charge par pgAdmin.
Tu obtiens une erreur de syntaxe car Postgres obtient les données de code SQL.
Trois solutions possibles:
1. Utiliser un multi-ligne
INSERT
à la place:Noter les différentes (SQL) syntaxe pour les valeurs de chaîne ou de littéraux numériques.
Vous pouvez générer les données avec
pg_dump
en utilisant--insère
. Connexes:2. Ou appelez votre script sur la ligne de commande à l'aide de
psql
. Comme le système de l'utilisateurpostgres
:Être sûr qu'il y est une fin-de-marqueur de données (
\.
) pour défauttext
format. (Vous avez). La documentation:3. Ou déplacer vos données vers un fichier séparé (local pour le serveur!), dire " beer_data.csv " et utiliser
COPY .. FROM 'filename'
dans votre script:Qui fonctionne dans les deux sens.
Première étape:
créer une Base de données belgianbeers sur pgAdmin.
Deuxième étape:
Ouvrir l'invite de commandes et les exécuter cette ligne de commande:
psql -U postgres-d belgianbeers -a-f bières.sql
Cette ligne de commande course e mise à jour des tables de base de données.
-U = nom d'utilisateur postgres