Lesen von Daten aus einer text-Datei in einem trigger
Gibt es eine Möglichkeit die Daten auf eine text-Datei zugegriffen werden kann, die in einem trigger-Funktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Möglichkeit die Daten auf eine text-Datei zugegriffen werden kann, die in einem trigger-Funktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie standard plpgsql-Funktionen für diese.
KOPIEREN
Wenn wir reden über CSV-Dateien (oder ähnliches) und die Datei ist auf dem db-server, den Sie verwenden
COPY
. Ich zitiere das Handbuch hier.Für komplexere Operationen, die Sie möglicherweise verwenden möchten, eine temporäre Tabelle staging-Tabelle
COPY
Sie die Datei in es von und arbeiten mit einfachen SQL-Befehle von dort. Ähnlich wie in diesem Beispiel. Werden Sie sicher, dass Sie nicht zu Konflikten mit dem Versuch, erstellen Sie die gleiche Tabelle in der gleichen Sitzung mehrere Male, obwohl ...pg_read_file()
Gibt es auch Generika-Datei der Zugriff auf Funktionen. Aus Sicherheitsgründen ist Ihr nutzen eher beschränkt:
Benutze ich dieses zum Lesen in kleinen XML-Dateien und den Prozess innerhalb von PostgreSQL. Demo:
Können Sie überwinden die Pfad-Beschränkung mit einem symlink von Ihrem db-Verzeichnis zu einem anderen Verzeichnis. Vorsichtig sein, die möglichen Auswirkungen auf die Sicherheit, aber.
file_fdw
Schließlich könnten Sie ein foreign data wrapper Zugriff auf Dateien im Dateisystem des Servers. Benötigen Sie das Zusatzmodul
file_fdw
für diese. Installieren Sie einmal pro Datenbank mit:Ja, aber Sie müssen eine von den nicht vertrauenswürdigen Sprachen pl/sh, pl/perlu, C, etc.
Wenn Sie erklären, warum Sie benötigen, um dies zu tun gibt es vielleicht einen besseren Weg.
Können Sie meine "Die PostgreSQL-Datei-I/O-Funktionen" - Erweiterung für basic-Datei-I/O.
Haftungsausschluss: ich bin der Autor dieser extension, die ich anbiete, wie eine Lösung für das problem.