Zum Hauptinhalt springen

Wie lade ich json über die Konsole in eine PostgreSQL-Datenbank hoch, ohne zusätzliche Tools zu verwenden

PostgreSQL - Es ist ein leistungsfähiges und erweiterbares relationales Datenbankmanagementsystem, mit dem wir große Datenmengen effizient speichern, organisieren und manipulieren können. Einer der Hauptvorteile von PostgreSQL ist seine Fähigkeit, mit verschiedenen Datentypen zu arbeiten, einschließlich json.

Json (JavaScript Object Notation) ist ein Datenaustauschformat, das auf der JavaScript-Syntax basiert. Es ist in den letzten Jahren sehr populär geworden, weil es Einfachheit, Benutzerfreundlichkeit und Erweiterbarkeit hat. Sehr oft haben wir die Aufgabe, große JSON-Dateien über die Konsole in PostgreSQL zu importieren.

In diesem Artikel werden wir uns ansehen, wie json mithilfe der Befehlszeile in PostgreSQL geladen wird.

Der erste Schritt besteht darin, eine Tabelle in einer PostgreSQL-Datenbank zu erstellen, die unsere JSON-Daten enthält. Wir können den folgenden Befehl verwenden, um eine Tabelle zu erstellen:

Wie speichere ich json in postgresql über die Konsole

Um den json über die Konsole in eine PostgreSQL-Datenbank zu speichern, können Sie den Befehl COPY verwenden.

Zunächst müssen Sie eine Tabelle erstellen, in der die Daten gespeichert werden sollen:

CREATE TABLE json_data (id SERIAL PRIMARY KEY,data JSONB);

Nachdem die Tabelle erstellt wurde, können Sie den Befehl COPY verwenden, um Daten aus der Datei in die Tabelle zu laden:

COPY json_data (data) FROM '/путь_к_файлу/файл.json';

Dieser Befehl gibt den Tabellennamen ( json_data ) und den Pfad zu der JSON-Datei an, die die Daten enthält, die Sie in der Datenbank speichern möchten.

Wenn die Daten in der Datei eine andere Struktur haben als die Tabellenstruktur, können Sie die Funktion json_populate_recordset verwenden, um die Daten zu konvertieren und zu speichern:

INSERT INTO json_data (data)SELECT * FROM json_populate_recordset(NULL::json_data, '/путь_к_файлу/файл.json');

In diesem Fall werden die Daten aus der JSON-Datei mithilfe der Funktion json_populate_recordset in ein Format konvertiert, das der Tabelle json_data entspricht, und dann in der Tabelle gespeichert.

Erstellen einer Tabelle in einer Datenbank

Bevor Sie die JSON-Dateien in PostgreSQL laden können, müssen Sie eine Tabelle erstellen, in die die Daten aus der Datei eingefügt werden.

Verwenden Sie die CREATE TABLE-Anweisung, um eine Tabelle in der Datenbank zu erstellen. Der Operator gibt den Namen der Tabelle und den Spaltensatz mit ihren Datentypen an.

Um beispielsweise die Tabelle "users" mit den Spalten "id" (INTEGER-Datentyp) und "name" (TEXT-Datentyp) zu erstellen, führen Sie den folgenden Befehl aus:

CREATE TABLE users (id INTEGER,name TEXT);

Nach dem Ausführen des Befehls wird die Tabelle "users" in der Datenbank erstellt und kann Daten aus der JSON-Datei laden.

Erstellen einer Funktion zum Laden von json

Hier ist ein Beispiel für eine Funktion, die JSON-Daten aus einer Datei in eine Datenbank lädt:

CREATE OR REPLACE FUNCTION load_json_data(file_path text)RETURNS void AS$$DECLAREtable_name text;BEGIN-- Определить имя таблицы на основе имени файлаtable_name := split_part(file_path, '/', -1);table_name := split_part(table_name, '.', 1);-- Создать временную таблицу для загрузки json данныхEXECUTE 'CREATE TEMP TABLE temp_json_data AS TABLE '