---
title: "Chuyển JSON sang PostgreSQL"
description: "Chuyển tệp JSON sang SQL cho PostgreSQL ngay trong trình duyệt: CREATE TABLE có kiểu cột, rồi INSERT. Miễn phí, tệp không bao giờ được tải lên."
canonical: https://intosql.com/vi/json-sang-postgresql
last_updated: 2026-10-15
---

# Chuyển JSON sang PostgreSQL

Thả tệp JSON để nhận tập lệnh PostgreSQL với câu lệnh CREATE TABLE và INSERT. Mỗi cột được gán kiểu, và mọi bản sửa đều được liệt kê kèm hàng và cột.

## Từ JSON sang PostgreSQL, từng cột một

Tệp mẫu ở trên, pedidos_2024.json, khi IntoSQL viết cho PostgreSQL: mỗi cột chứa gì trong tệp, kiểu dữ liệu nhận được và giá trị đầu tiên xuất hiện thế nào trong tập lệnh.

| Trong tệp | Giá trị đầu tiên | Cột | Kiểu PostgreSQL | Trong tập lệnh |
| --- | --- | --- | --- | --- |
| 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` |

## Nạp tập lệnh vào PostgreSQL

Tệp tải xuống là một tệp .sql thông thường. Chạy nó bằng công cụ riêng của PostgreSQL.

### PostgreSQL

```shell
psql -v ON_ERROR_STOP=1 -d mydb -f pedidos_2024.postgresql.sql
```

ON_ERROR_STOP khiến psql dừng ở lỗi đầu tiên. Tập lệnh chạy trong một giao dịch, nên nếu nạp thất bại, cơ sở dữ liệu vẫn giữ nguyên. Trong pgAdmin hoặc DBeaver, mở tập lệnh trong cửa sổ truy vấn và chạy.

Không cần tập lệnh:

```shell
intosql load pedidos_2024.json --into postgres://user@localhost/mydb
```

## IntoSQL đọc gì trong tệp JSON

- Tệp có thể là một mảng đối tượng, một đối tượng chứa mảng đó dưới một khóa như data, hoặc mỗi dòng một đối tượng (NDJSON).
- Mỗi khóa trở thành một cột. Đối tượng và mảng bên trong một giá trị được giữ dưới dạng văn bản JSON.
- Số giữ nguyên từng chữ số, và ngày ISO 8601 trở thành ngày hoặc dấu thời gian.

## Những điều cần biết về PostgreSQL

- Số thập phân giữ nguyên từng chữ số dưới dạng numeric(p,s), và ngày có độ lệch múi giờ trở thành timestamptz.
- Văn bản trong PostgreSQL không chứa được ký tự NUL, nên ký tự này được xóa khỏi các giá trị có nó.
- Tập lệnh chạy trong một giao dịch duy nhất, nên lần nạp bị lỗi không để lại dữ liệu dở dang.

### Cách mỗi loại giá trị được lưu trong PostgreSQL

| Giá trị | PostgreSQL |
| --- | --- |
| Có và không | `boolean` |
| Số nguyên | `integer` |
| Số nguyên lớn | `bigint` |
| Số thập phân | `numeric(p,s)` |
| Số dấu phẩy động | `double precision` |
| Ngày | `date` |
| Giờ trong ngày | `time` |
| Ngày kèm giờ | `timestamp` |
| Ngày kèm giờ và độ lệch múi giờ | `timestamptz` |
| Văn bản | `text` |

## Câu hỏi về JSON sang PostgreSQL

### Làm sao để chuyển JSON sang PostgreSQL?

Thả tệp vào trình chuyển đổi ở đầu trang này. Nó tìm tiêu đề, đọc mọi giá trị và viết tập lệnh PostgreSQL, kèm danh sách từng bản sửa. Tải tập lệnh xuống và chạy bằng psql.

### Tệp JSON cần có cấu trúc thế nào?

Một mảng đối tượng, một đối tượng chứa mảng đó dưới một khóa như data, hoặc mỗi dòng một đối tượng (NDJSON). Mỗi khóa trở thành một cột.

### Nó dùng những kiểu PostgreSQL nào?

Giá trị có/không thành boolean, số nguyên thành integer, số thập phân thành numeric(p,s), ngày thành date, ngày kèm giờ thành timestamp và văn bản thành text. Kích thước lấy theo giá trị dài nhất trong mỗi cột.

### Số 0 ở đầu có được giữ trong PostgreSQL không?

Có. Một mã như 000481 vẫn là văn bản, nên PostgreSQL lưu nó dưới dạng text và tập lệnh viết nó là '000481'.

### Có thể nạp dữ liệu vào PostgreSQL mà không cần tập lệnh không?

Có, với IntoSQL Pro. Ứng dụng máy tính và dòng lệnh kết nối tới PostgreSQL, tạo bảng trước rồi nạp thẳng các hàng vào.

### Tệp JSON có thể lớn đến đâu?

NDJSON, mỗi dòng một đối tượng, được đọc theo luồng, nên tệp vài gigabyte vẫn chạy được trong trình duyệt. Tài liệu JSON được đọc toàn bộ, nên giới hạn là bộ nhớ trình duyệt cấp cho trang này. Ứng dụng máy tính và dòng lệnh nhận tệp ở mọi kích thước.

## JSON sang các cơ sở dữ liệu khác

- [Chuyển JSON sang SQL](https://intosql.com/vi/json-sang-sql)
- [Chuyển JSON sang MySQL](https://intosql.com/vi/json-sang-mysql)
- [Chuyển JSON sang MariaDB](https://intosql.com/vi/json-sang-mariadb)
- [Chuyển JSON sang SQLite](https://intosql.com/vi/json-sang-sqlite)
- [Chuyển JSON sang SQL Server](https://intosql.com/vi/json-sang-sql-server)
- [Chuyển JSON sang Oracle](https://intosql.com/vi/json-sang-oracle)

## Các tệp khác sang PostgreSQL

- [Chuyển Excel sang PostgreSQL](https://intosql.com/vi/excel-sang-postgresql)
- [Chuyển CSV sang PostgreSQL](https://intosql.com/vi/csv-sang-postgresql)
