Ich habe gerade angefangen, Postgres zu verwenden, und ich versuche, eine Beispiel-Datenbank zu erstellen, um deren Funktionen zu verstehen. Ich habe einige Skripte in pgfoundry.org gefunden. Ich verstehe die Befehle, da ich zuvor sowohl Oracle als auch MS-SQL verwendet habe, aber alle Skripte, die ich ausführe, geben Fehler zurück, wenn sie die Anweisung "COPY FROM" erreichen. Genauer gesagt wird der Fehler beim ersten Element ausgelöst, das in die angegebene Tabelle eingefügt werden soll.
Ich habe versucht, die Skripte sowohl als Abfragen als auch als pgScripts auszuführen, aber in beiden Fällen wird in der ersten Zeile nach COPY FROM eine Fehlermeldung angezeigt.
Ich benutze pgAdminIII und habe mit StackBuilder PostgreSQL 9.2.4.1 als DB-Treiber installiert. Vermisse ich eine grundlegende Konfiguration, die mich daran hindert, diesen Befehl auszuführen, oder habe ich einfach nicht verstanden, wie sie funktioniert?
EDIT:
Der Fehler ist:
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`
wo der text ist:
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`
quelle
SET lc_messages = C
Führen Sie es einfach in Ihrem SQL-Editor-Fenster aus, das eine Sitzung "enthält".SET lc_messages = 'C'
.Antworten:
pgScript ist eine lokale Skript-Erweiterung von pgAdmin, die Sie hier höchstwahrscheinlich nicht wollen.
pgAdmin ist eine grafische Benutzeroberfläche, keine Konsolenanwendung - es gibt keine, die
stdin
Sie einfach verwenden könnten. Wenn Siestdin
Ihre Inhalte streamen müssen, verwenden Sie psql, eine Konsolenanwendung, mit dem\copy
Metabefehl von psql .Wenn Sie eine Datei haben (was Sie offensichtlich tun), verwenden Sie einfach SQL
COPY
von pgAdmin:Die Datei muss für den
postgres
Systembenutzer lesbar sein.Weitere Informationen in dieser eng verwandten Anfrage finden Sie in der pgAdmin-Supportliste .
quelle
psql postgres -p 5432 -f C:\Users\usernexus\Desktop\database05-12-2012.sql
? Außerdem versuche ich alles nur lokal. Ich habe gerade pgAdmin auf meinem Laptop installiert.psql -f
würde eine SQL-Skriptdatei ausführen. Sie scheinen mit einer umgehen Datendatei. Ich habe meine Antwort aktualisiert.