2015-07-28 9 views

Odpowiedz

7

Budując na Export Postgres table as JSON, możesz wybrać dane, które chcesz ze swojej tabeli, przekonwertować je do pliku JSON, a następnie copy do pliku. Oto SQLFiddle showing the JSON conversion.

Zagrajmy z

CREATE TABLE data (id integer, name varchar(255), quantity integer); 

INSERT INTO data VALUES 
    (1, 'apple', 10), 
    (2, 'banana', 20), 
    (3, 'cherry', 30) 
; 

pierwsze, uzyskać dane do formatu chcesz, z mniejszą liczbą kolumn oraz wszelkich zmian nazwy.

SELECT 
    name AS fruit_name, 
    quantity 
FROM data; 

Następnie umieść to w podkwerendie i przekonwertuj do JSON.

SELECT row_to_json(fruit_data) FROM (
    SELECT 
    name AS fruit_name, 
    quantity 
    FROM data 
) fruit_data; 

Wreszcie, zawiń wszystko w copy.

COPY (
    SELECT row_to_json(fruit_data) FROM (
    SELECT 
     name AS fruit_name, 
     quantity 
    FROM data 
) fruit_data 
) TO 'a.file'; 

To będzie drukować każdy wiersz jako linia JSON przez linię do pliku

{"fruit_name":"apple","quantity":10} 
{"fruit_name":"banana","quantity":20} 
{"fruit_name":"cherry","quantity":30} 

Postgres może prawdopodobnie budować je do tablicy przed wami wyjściu nich, ale myślę, że to będzie prostsze do przetworzenia plik do tablicy, jeśli jest to format, który chcesz.

+0

Nie rozumiem tego 'SELECT row_to_json (fruit_data) FROM () fruit_data;' - what's fruit_data? – imatahi

+0

Co to jest "zapytanie danych"? – imatahi

+0

Co to jest "'? Możesz być bardziej dokładny? – imatahi

Powiązane problemy