---
title: "JSON を PostgreSQL に変換"
description: "JSON ファイルをブラウザ上で PostgreSQL 用の SQL に変換します。型付きの列を持つ CREATE TABLE と、続く INSERT 文を作成します。無料で、ファイルはアップロードされません。"
canonical: https://intosql.com/ja/json-to-postgresql
last_updated: 2026-10-15
---

# JSON を PostgreSQL に変換

JSON ファイルをドロップすると、CREATE TABLE と INSERT 文を含む PostgreSQL 用のスクリプトができます。各列に型を付け、すべての修正を行と列とともに一覧にします。

## JSON から PostgreSQL へ、列ごとに

上のサンプル pedidos_2024.json を IntoSQL が PostgreSQL 用に書き出した結果です。各列のファイル内の内容、付く型、最初の値がスクリプトでどうなるかを示します。

| ファイル内 | 最初の値 | 列 | PostgreSQL の型 | スクリプト内 |
| --- | --- | --- | --- | --- |
| 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` |

## スクリプトを PostgreSQL に読み込む

ダウンロードされるのは普通の .sql ファイルです。PostgreSQL 付属のツールで実行してください。

### PostgreSQL

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

ON_ERROR_STOP を付けると、psql は最初のエラーで止まります。スクリプトは 1 つのトランザクションで実行されるため、読み込みに失敗してもデータベースは元のままです。 pgAdmin や DBeaver では、クエリウィンドウでスクリプトを開いて実行します。

スクリプトを使わずに:

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

## IntoSQL が JSON ファイルから読み取るもの

- ファイルはオブジェクトの配列、その配列を data などのキーの下に持つオブジェクト、または 1 行に 1 オブジェクト (NDJSON) のいずれでも使えます。
- 各キーが列になります。値の中のオブジェクトや配列は JSON テキストとして保持されます。
- 数値は桁をそのまま保ち、ISO 8601 の日付は日付またはタイムスタンプになります。

## PostgreSQL について知っておくこと

- 小数は numeric(p,s) として桁をそのまま保ち、時差付きの日付は timestamptz になります。
- PostgreSQL のテキストは NUL 文字を保持できないため、NUL を含む値からは取り除かれます。
- スクリプトは 1 つのトランザクションで実行されるので、読み込みに失敗しても中途半端な状態は残りません。

### PostgreSQL で各種類の値がどう保存されるか

| 値 | PostgreSQL |
| --- | --- |
| はい/いいえ | `boolean` |
| 整数 | `integer` |
| 大きな整数 | `bigint` |
| 小数 | `numeric(p,s)` |
| 浮動小数点数 | `double precision` |
| 日付 | `date` |
| 時刻 | `time` |
| 日付と時刻 | `timestamp` |
| 日付と時刻、時差付き | `timestamptz` |
| テキスト | `text` |

## JSON から PostgreSQL への変換に関する質問

### JSON を PostgreSQL に変換するには？

このページ上部のコンバーターにファイルをドロップしてください。ヘッダーを見つけ、すべての値を読み取り、行った修正を一覧にしながら PostgreSQL 用のスクリプトを書き出します。スクリプトをダウンロードし、psql で実行してください。

### JSON ファイルはどんな形式が必要ですか？

オブジェクトの配列、その配列を data などのキーの下に持つオブジェクト、または 1 行に 1 オブジェクト (NDJSON) です。各キーが列になります。

### PostgreSQL ではどの型を使いますか？

はい/いいえの値は boolean、整数は integer、小数は numeric(p,s)、日付は date、時刻付きの日付は timestamp、テキストは text になります。サイズは各列の最も長い値から決まります。

### PostgreSQL で先頭のゼロは残りますか？

はい。000481 のようなコードはテキストのまま扱われるため、PostgreSQL では text として保存され、スクリプトには '000481' と書かれます。

### スクリプトを使わずに PostgreSQL にデータを読み込めますか？

はい、IntoSQL Pro で可能です。デスクトップアプリとコマンドラインが PostgreSQL に接続し、テーブルを作成してから行を直接読み込みます。

### JSON ファイルはどのくらいの大きさまで扱えますか？

1 行に 1 オブジェクトの NDJSON は流れてくる順に読むため、ブラウザでも数 GB のファイルを扱えます。JSON ドキュメントは全体を一度に読むため、上限はブラウザがこのページに割り当てるメモリです。デスクトップアプリとコマンドラインはどんなサイズのファイルも扱えます。

## JSON から他のデータベースへ

- [JSON を SQL に変換](https://intosql.com/ja/json-to-sql)
- [JSON を MySQL に変換](https://intosql.com/ja/json-to-mysql)
- [JSON を MariaDB に変換](https://intosql.com/ja/json-to-mariadb)
- [JSON を SQLite に変換](https://intosql.com/ja/json-to-sqlite)
- [JSON を SQL Server に変換](https://intosql.com/ja/json-to-sql-server)
- [JSON を Oracle に変換](https://intosql.com/ja/json-to-oracle)

## 他のファイルから PostgreSQL へ

- [Excel を PostgreSQL に変換](https://intosql.com/ja/excel-to-postgresql)
- [CSV を PostgreSQL に変換](https://intosql.com/ja/csv-to-postgresql)
