Konversi JSON ke PostgreSQL
Letakkan file JSON Anda untuk mendapatkan skrip PostgreSQL dengan pernyataan CREATE TABLE dan INSERT. Setiap kolom diberi tipe, dan setiap perbaikan dicantumkan beserta baris dan kolomnya.
4 baris dikonversi, 2 perbaikan, tidak ada yang ditolak
| Baris | ||||||
|---|---|---|---|---|---|---|
| 2 | 000481 | Peña Muñoz | 2024-02-03T10:15:00Z | 1234.5 | true | |
| 3 | 000482 | José Ángel Ruiz | 2024-02-15T16:40:00Z | 99.9 | false | Entrega en la tarde |
| 4 | 000483 | Zoë Ortíz | 2024-02-29T09:05:00Z | 12 | true | |
| 5 | 000484 | Ñuño Castañeda | 2024-03-11T13:30:00Z | 980.75 | sí | Factura con "RFC" |
-- Written by IntoSQL for PostgreSQL.
SET client_encoding = 'UTF8';
BEGIN;
CREATE TABLE pedidos_2024 (
pedido text NOT NULL,
cliente text NOT NULL,
fecha timestamptz NOT NULL,
total numeric(6,2) NOT NULL,
pagado boolean NOT NULL,
notas text
);
INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, TRUE, 'Factura con "RFC"');
COMMIT;
Perbaikan
- Nol di depan dipertahankan di "pedido": 000481 tetap 000481, disimpan sebagai teks.
- "pagado" berisi kata ya dan tidak (sí), disimpan sebagai boolean.
File Anda dikonversi di komputer ini dan tidak pernah diunggah.
Contoh lain:
Dari JSON ke PostgreSQL, kolom demi kolom
Contoh di atas, pedidos_2024.json, seperti yang ditulis IntoSQL untuk PostgreSQL: isi setiap kolom di file, tipe yang didapatnya, dan bagaimana nilai pertamanya ditulis di skrip.
| Di file | Nilai pertama | Kolom | Tipe PostgreSQL | Di skrip |
|---|---|---|---|---|
| pedido | 000481 | pedido | text | '000481' |
| cliente | Peña Muñoz | cliente | text | 'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | timestamptz | '2024-02-03 10:15:00+00:00' |
| total | 1234.5 | total | numeric(6,2) | 1234.5 |
| pagado | true | pagado | boolean | TRUE |
| notas | - | notas | text | NULL |
Muat skrip ke PostgreSQL
Hasil unduhan adalah file .sql biasa. Jalankan dengan alat bawaan PostgreSQL.
Dari terminal
psql -v ON_ERROR_STOP=1 -d mydb -f pedidos_2024.postgresql.sqlON_ERROR_STOP membuat psql berhenti pada error pertama. Skrip berjalan dalam satu transaksi, jadi pemuatan yang gagal membiarkan database seperti semula.
Dari alat database
Di pgAdmin atau DBeaver, buka skrip di jendela kueri lalu jalankan.
Tanpa skripPro
IntoSQL Pro memuat file langsung ke PostgreSQL dari aplikasi desktop atau command line, tanpa menulis skrip.
intosql load pedidos_2024.json --into postgres://user@localhost/mydbYang perlu diketahui tentang file JSON dan PostgreSQL
Yang dibaca IntoSQL di file JSON
- File dapat berupa array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON).
- Setiap kunci menjadi kolom. Objek dan array di dalam nilai disimpan sebagai teks JSON.
- Angka mempertahankan digit persisnya, dan tanggal ISO 8601 menjadi tanggal atau timestamp.
Yang perlu diketahui tentang PostgreSQL
- Desimal mempertahankan digit persisnya sebagai numeric(p,s), dan tanggal dengan selisih waktu menjadi timestamptz.
- Teks PostgreSQL tidak dapat memuat karakter NUL, jadi karakter itu dihapus dari nilai yang memilikinya.
- Skrip berjalan dalam satu transaksi, jadi impor yang gagal tidak meninggalkan apa pun setengah jadi.
Cara setiap jenis nilai disimpan di PostgreSQL
| Nilai | PostgreSQL |
|---|---|
| Ya dan tidak | boolean |
| Bilangan bulat | integer |
| Bilangan bulat besar | bigint |
| Desimal | numeric(p,s) |
| Bilangan floating-point | double precision |
| Tanggal | date |
| Jam | time |
| Tanggal dengan jam | timestamp |
| Tanggal dengan jam dan selisih waktu | timestamptz |
| Teks | text |
Pertanyaan tentang JSON ke PostgreSQL
Tidak terjawab di sini? Tulis ke kami dari halaman kontak, dan seseorang akan membalas. Halaman kontak
Bagaimana cara mengonversi JSON ke PostgreSQL?
Letakkan file Anda di konverter di bagian atas halaman ini. Konverter menemukan baris judul, membaca setiap nilai, dan menulis skrip PostgreSQL, dengan mencantumkan setiap perbaikan yang dibuat. Unduh skripnya dan jalankan dengan psql.
Seperti apa bentuk file JSON yang dibutuhkan?
Array objek, objek yang menyimpan array tersebut di bawah kunci seperti data, atau satu objek per baris (NDJSON). Setiap kunci menjadi kolom.
Tipe PostgreSQL apa saja yang digunakan?
Nilai ya dan tidak menjadi boolean, bilangan bulat integer, desimal numeric(p,s), tanggal date, tanggal dengan waktu timestamp, dan teks text. Ukuran diambil dari nilai terpanjang di setiap kolom.
Apakah nol di depan tetap ada di PostgreSQL?
Ya. Kode seperti 000481 tetap berupa teks, jadi PostgreSQL menyimpannya sebagai text dan skrip menuliskannya sebagai '000481'.
Bisakah data dimuat ke PostgreSQL tanpa skrip?
Bisa, dengan IntoSQL Pro. Aplikasi desktop dan command line terhubung ke PostgreSQL dan memuat baris langsung, setelah membuat tabelnya terlebih dahulu.
Seberapa besar file JSON yang bisa dipakai?
NDJSON, satu objek per baris, dibaca sambil dialirkan, jadi file berukuran beberapa gigabyte bisa diproses di browser. Dokumen JSON dibaca utuh, jadi batasnya adalah memori yang diberikan browser untuk halaman ini. Aplikasi desktop dan command line menerima file dengan ukuran berapa pun.