---
title: "Convertire CSV in PostgreSQL"
description: "Converti file CSV in SQL per PostgreSQL nel tuo browser: un CREATE TABLE con colonne tipizzate, poi istruzioni INSERT. Gratis, e il tuo file non viene mai caricato."
canonical: https://intosql.com/it/csv-in-postgresql
last_updated: 2026-10-15
---

# Convertire CSV in PostgreSQL

Trascina il tuo file CSV per ottenere uno script PostgreSQL con istruzioni CREATE TABLE e INSERT. Ogni colonna riceve un tipo e ogni correzione è elencata con la sua riga e colonna.

## Da CSV a PostgreSQL, colonna per colonna

L'esempio qui sopra, ventas_2024.csv, come IntoSQL lo scrive per PostgreSQL: cosa contiene ogni colonna nel file, il tipo che riceve e come il suo primo valore finisce nello script.

| Nel file | Primo valore | Colonna | Tipo PostgreSQL | Nello script |
| --- | --- | --- | --- | --- |
| 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` |

## Carica lo script in PostgreSQL

Il download è un semplice file .sql. Eseguilo con gli strumenti di PostgreSQL.

### PostgreSQL

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

ON_ERROR_STOP ferma psql al primo errore. Lo script gira in un'unica transazione, quindi un caricamento fallito lascia il database com'era. In pgAdmin o DBeaver, apri lo script in una finestra di query ed eseguilo.

Senza script:

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

## Cosa legge IntoSQL nei file CSV

- La codifica viene rilevata, comprese Windows-1252 e UTF-16, così accenti e ñ arrivano intatti.
- Il separatore viene rilevato: virgola, punto e virgola, tabulazione o barra verticale. Con il punto e virgola, le virgole decimali come 1.234,50 vengono lette come numeri.
- I valori tra virgolette possono contenere separatori e a capo.

## Cosa sapere su PostgreSQL

- I decimali mantengono le cifre esatte come numeric(p,s), e le date con fuso diventano timestamptz.
- Il testo di PostgreSQL non può contenere il carattere NUL, quindi viene rimosso dai valori che lo hanno.
- Lo script viene eseguito in un'unica transazione, quindi un caricamento che fallisce non lascia nulla a metà.

### Come viene salvato ogni tipo di valore in PostgreSQL

| Valore | PostgreSQL |
| --- | --- |
| Sì e no | `boolean` |
| Numeri interi | `integer` |
| Numeri interi grandi | `bigint` |
| Decimali | `numeric(p,s)` |
| Numeri in virgola mobile | `double precision` |
| Date | `date` |
| Orari | `time` |
| Date con ora | `timestamp` |
| Date con ora e fuso | `timestamptz` |
| Testo | `text` |

## Domande su CSV in PostgreSQL

### Come converto CSV in PostgreSQL?

Trascina il file sul convertitore in cima a questa pagina. Trova l'intestazione, legge ogni valore e scrive lo script PostgreSQL, elencando ogni correzione fatta. Scarica lo script ed eseguilo con psql.

### E se il mio CSV usa punti e virgola o tabulazioni?

Il separatore viene rilevato: virgola, punto e virgola, tabulazione o barra verticale. Puoi anche impostarlo in Altre opzioni. Con il punto e virgola, le virgole decimali come 1.234,50 vengono lette come numeri.

### Quali tipi PostgreSQL usa?

I valori sì e no diventano boolean, i numeri interi integer, i decimali numeric(p,s), le date date, le date con ora timestamp e il testo text. Le dimensioni dipendono dal valore più lungo di ogni colonna.

### Mantiene gli zeri iniziali in PostgreSQL?

Sì. Un codice come 00412 resta testo, quindi PostgreSQL lo salva come text e lo script lo scrive come '00412'.

### Può caricare i dati in PostgreSQL senza uno script?

Sì, con IntoSQL Pro. L'app desktop e la riga di comando si collegano a PostgreSQL e caricano le righe direttamente, creando prima la tabella.

### Quanto può essere grande il file CSV?

Il browser legge il CSV man mano che arriva, quindi funzionano file di diversi gigabyte. Su un portatile Apple M4 la riga di comando converte un CSV di 174 MB con un milione di righe in meno di un secondo.

## CSV in altri database

- [Convertire CSV in SQL](https://intosql.com/it/csv-in-sql)
- [Convertire CSV in MySQL](https://intosql.com/it/csv-in-mysql)
- [Convertire CSV in MariaDB](https://intosql.com/it/csv-in-mariadb)
- [Convertire CSV in SQLite](https://intosql.com/it/csv-in-sqlite)
- [Convertire CSV in SQL Server](https://intosql.com/it/csv-in-sql-server)
- [Convertire CSV in Oracle](https://intosql.com/it/csv-in-oracle)

## Altri file in PostgreSQL

- [Convertire Excel in PostgreSQL](https://intosql.com/it/excel-in-postgresql)
- [Convertire JSON in PostgreSQL](https://intosql.com/it/json-in-postgresql)
