Ich versuche, Daten aus einer SQL-Datei, die etwa 1,6 GB groß ist, einzufügen. Ich habe den Befehl:Postgres sql-Datei einfügen hängen
\i filename.sql
jedoch hatte es für gut über zehn Minuten gelaufen. Am Anfang, als ich es lief habe ich Ausgang wie unten:
psql:xxx.sql:1102: ERROR: role "xxx" does not exist
psql:xxx.sql:1124: ERROR: relation "xxx" already exists
psql:xxx.sql:1127: ERROR: role "xxx" does not exist
psql:xxx.sql:1138: ERROR: relation "xxx" already exists
psql:xxx.sql:1141: ERROR: role "xxx" does not exist
psql:xxx.sql:1177: ERROR: relation "xxx" already exists
psql:xxx.sql:1180: ERROR: role "xxx" does not exist
psql:xxx.sql:1191: ERROR: relation "xxx" already exists
psql:xxx.sql:1194: ERROR: role "xxx" does not exist
psql:xxx.sql:1223: ERROR: relation "xxx" already exists
psql:xxx.sql:1226: ERROR: role "xxx" does not exist
psql:xxx.sql:1237: ERROR: relation "xxx" already exists
psql:xxx.sql:1240: ERROR: role "xxx" does not exist
Dies setzt sich fort, bis die letzte Ausgabe war:
psql:xxx.sql:1183266: ERROR: duplicate key value violates unique constraint "xxx"
DETAIL: Key (id)=(2) already exists.
CONTEXT: COPY mo_logs, line 1: "2 +6421558671 +15759151518 LolWithPlus unable to deliver, dropping : undefined method `bytesize' for..."
Dann wird die Konsole zeigt nichts Neues, da dann. Bei meinem ersten Versuch, dachte ich, es war so aufgeregt hängt aber bekam die folgende Ausgabe:
Cancel request sent
Dies führt mich das Skript zu glauben, noch läuft, aber ich habe keine Möglichkeit zu sagen. Kann jemand raten, wie ich entweder diagnostizieren kann, was vor sich geht, oder mir einen Hinweis geben kann, ob der Einsatz versagt, wie gezeigt, indem er hängt?
Danke für den Rat. Ich dachte, dass es noch läuft, aber es wäre schön, etwas anderes als Fehler zu sehen, um zu zeigen, dass Fortschritte gemacht wurden. Ist das möglich? Ich habe versucht, einen Befehl zu finden, aber kein anderes Glück als die einfache Protokollierung in eine Datei meiner Wahl. – EamonnMcElroy
Sie können die Option '-a' von' psql' verwenden, um die aktuelle Anweisung zu übernehmen. –
Also wäre das '\ i filename.sql -a' – EamonnMcElroy