---
title: "Конвертация CSV в PostgreSQL"
description: "Конвертируйте файлы CSV в SQL для PostgreSQL в браузере: CREATE TABLE с типами столбцов, затем INSERT. Бесплатно, файл никуда не загружается."
canonical: https://intosql.com/ru/csv-v-postgresql
last_updated: 2026-10-15
---

# Конвертация CSV в PostgreSQL

Перетащите файл CSV, чтобы получить скрипт для PostgreSQL с командами CREATE TABLE и INSERT. Каждый столбец получает тип, а каждое исправление указано со строкой и столбцом.

## Из CSV в PostgreSQL, столбец за столбцом

Пример выше, ventas_2024.csv, в том виде, в котором IntoSQL записывает его для PostgreSQL: что хранит каждый столбец в файле, какой тип он получает и как его первое значение попадает в скрипт.

| В файле | Первое значение | Столбец | Тип в PostgreSQL | В скрипте |
| --- | --- | --- | --- | --- |
| Folio | `00412` | `folio` | `text` | `'00412'` |
| Cliente | `Peña Muñoz` | `cliente` | `text` | `'Peña Muñoz'` |
| Ciudad | `Mérida` | `ciudad` | `text` | `'Mérida'` |
| Fecha | `15/02/2024` | `fecha` | `date` | `'2024-02-15'` |
| Importe | `1.234,50` | `importe` | `numeric(6,2)` | `1234.50` |
| Pagado | `sí` | `pagado` | `boolean` | `TRUE` |

## Загрузите скрипт в PostgreSQL

Вы скачиваете обычный файл .sql. Запустите его штатными средствами PostgreSQL.

### PostgreSQL

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

ON_ERROR_STOP останавливает psql на первой ошибке. Скрипт выполняется в одной транзакции, поэтому неудачная загрузка оставляет базу без изменений. В pgAdmin или DBeaver откройте скрипт в окне запроса и выполните его.

Без скрипта:

```shell
intosql load ventas_2024.csv --into postgres://user@localhost/mydb
```

## Что IntoSQL читает в файлах CSV

- Кодировка определяется автоматически, включая Windows-1252 и UTF-16, поэтому буквы с диакритикой и ñ приходят без искажений.
- Разделитель определяется автоматически: запятая, точка с запятой, табуляция или вертикальная черта. При точке с запятой десятичные запятые, как в 1.234,50, читаются как числа.
- Значения в кавычках могут содержать разделители и переносы строк.

## Что нужно знать о PostgreSQL

- Десятичные числа сохраняют все цифры как numeric(p,s), а даты со смещением становятся timestamptz.
- Текст в PostgreSQL не может содержать символ NUL, поэтому он удаляется из значений, где встречается.
- Скрипт выполняется в одной транзакции, поэтому неудачная загрузка не оставляет ничего наполовину.

### Как каждый вид значений хранится в PostgreSQL

| Значение | PostgreSQL |
| --- | --- |
| Да и нет | `boolean` |
| Целые числа | `integer` |
| Большие целые числа | `bigint` |
| Десятичные числа | `numeric(p,s)` |
| Числа с плавающей точкой | `double precision` |
| Даты | `date` |
| Время суток | `time` |
| Даты со временем | `timestamp` |
| Даты со временем и смещением | `timestamptz` |
| Текст | `text` |

## Вопросы о CSV в PostgreSQL

### Как конвертировать CSV в PostgreSQL?

Перетащите файл в конвертер в верхней части этой страницы. Он находит заголовок, читает каждое значение и записывает скрипт для PostgreSQL, перечисляя каждое исправление. Скачайте скрипт и запустите его через psql.

### Что, если в моем CSV точки с запятой или табуляции?

Разделитель определяется автоматически: запятая, точка с запятой, табуляция или вертикальная черта. Его также можно задать в разделе Другие параметры. При точке с запятой десятичные запятые вроде 1.234,50 читаются как числа.

### Какие типы PostgreSQL используются?

Значения да и нет становятся boolean, целые числа integer, дробные numeric(p,s), даты date, даты со временем timestamp, а текст text. Размеры берутся по самому длинному значению в каждом столбце.

### Сохраняются ли ведущие нули в PostgreSQL?

Да. Код вроде 00412 остается текстом, поэтому PostgreSQL хранит его как text, а скрипт записывает как '00412'.

### Можно ли загрузить данные в PostgreSQL без скрипта?

Да, с IntoSQL Pro. Приложение для компьютера и командная строка подключаются к PostgreSQL и загружают строки напрямую, сначала создав таблицу.

### Насколько большим может быть файл CSV?

Браузер читает CSV потоково, по мере загрузки, поэтому работают файлы в несколько гигабайт. На ноутбуке с Apple M4 командная строка конвертирует CSV 174 МБ с миллионом строк меньше чем за секунду.

## CSV в другие базы данных

- [Конвертация CSV в SQL](https://intosql.com/ru/csv-v-sql)
- [Конвертация CSV в MySQL](https://intosql.com/ru/csv-v-mysql)
- [Конвертация CSV в MariaDB](https://intosql.com/ru/csv-v-mariadb)
- [Конвертация CSV в SQLite](https://intosql.com/ru/csv-v-sqlite)
- [Конвертация CSV в SQL Server](https://intosql.com/ru/csv-v-sql-server)
- [Конвертация CSV в Oracle](https://intosql.com/ru/csv-v-oracle)

## Другие файлы в PostgreSQL

- [Конвертация Excel в PostgreSQL](https://intosql.com/ru/excel-v-postgresql)
- [Конвертация JSON в PostgreSQL](https://intosql.com/ru/json-v-postgresql)
