web-dev-qa-db-fra.com

Utilisation de COPY FROM STDIN dans les postgres

Je viens de commencer à utiliser Postgres et j'essaie de créer un exemple de base de données pour comprendre ses fonctions, en regardant autour, j'ai trouvé quelques scripts dans pgfoundry.org. Je comprends les commandes, car j'ai déjà utilisé à la fois Oracle et MS-SQL, mais tous les scripts que j'exécute retournent des erreurs lorsqu'ils atteignent l'instruction "COPY FROM". Plus précisément, l'erreur est lancée sur le premier élément qui doit être inséré dans le tableau donné.

J'ai essayé d'exécuter les scripts en tant que requêtes et en tant que pgScripts, mais dans les deux sens, j'obtiens une erreur sur la première ligne après la copie depuis.

J'utilise pgAdminIII et j'ai utilisé StackBuilder pour installer PostgreSQL 9.2.4.1 en tant que pilote DB. Puis-je manquer une configuration de base qui m'empêche d'exécuter cette commande, ou je ne comprenais tout simplement pas leur fonctionnement?

ÉDITER:
L'erreur est:

ERROR:  syntax error at or near "7"
LINE 5600: 7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797...
           ^

********** Error **********

ERROR: syntax error at or near "7"
SQL status: 42601
Char: 140891`

où le texte est:

COPY action_abilitations (id, group_action_id, partecipation_role_id, group_id, created_at, updated_at) FROM stdin;
7   4   13  37  2012-03-10 16:41:43.797787  2012-03-10 16:41:43.797787`
14
Eugenio Laghi

pgScript est une extension de script locale de pgAdmin, que vous ne voulez probablement pas ici.

pgAdmin est une interface graphique, pas une application console - il n'y a pas de stdin que vous pourriez facilement utiliser. Si vous avez besoin de stdin pour diffuser votre contenu, utilisez psql, qui est une application console - avec le \copy méta-commande de psql .

Si vous avez un fichier (ce que vous avez évidemment), utilisez simplement SQL COPY de pgAdmin:

COPY action_abilitations (id, group_action_id, ...)
FROM 'C:\Users\usernexus\Desktop\database05-12-2012.sql';

Le fichier doit être lisible par l'utilisateur système postgres.

Plus d'informations dans ce demande étroitement liée à la liste de support pgAdmin .

10
Erwin Brandstetter