Salta ai contenuti

Harlequin - IDE SQL per Terminale - Guida Rapida

Un IDE SQL completo che funziona interamente nel tuo terminale. Dispone di evidenziazione sintassi, autocompletamento, una barra laterale del catalogo dati, adattatori per database multipli ed esportazione risultati — nessuna GUI necessaria.

MetodoComando
uv (Consigliato)uv tool install harlequin
pippip install harlequin
pipxpipx install harlequin
Homebrewbrew install harlequin
Poetrypoetry add harlequin
# DuckDB (integrato, nessuna installazione extra necessaria)
uv tool install harlequin

# Adattatore SQLite
uv tool install 'harlequin[sqlite]'

# Adattatore PostgreSQL
uv tool install 'harlequin[postgres]'

# Adattatore MySQL
uv tool install 'harlequin[mysql]'

# Adattatori multipli contemporaneamente
uv tool install 'harlequin[postgres,mysql,sqlite,s3]'

Richiede: Python 3.9+

ComandoDescrizione
harlequinApri con database DuckDB in memoria
harlequin mydb.duckdbApri un file database DuckDB
harlequin -a sqlite mydb.dbApri un database SQLite
harlequin -a sqliteApri database SQLite in memoria
harlequin -a postgres -h localhost -p 5432 -U user -d mydbConnetti a PostgreSQL
harlequin -a mysql -h localhost -u root mydbConnetti a MySQL
harlequin --theme monokaiUsa un tema di colore specifico
harlequin --locale en_USImposta locale formattazione numeri
harlequin --helpMostra tutte le opzioni CLI
TastoDescrizione
Ctrl+EnterEsegui query corrente
Ctrl+jEsegui query corrente (alternativa)
Ctrl+oApri un file SQL
Ctrl+sSalva query corrente su file
Ctrl+nNuova scheda query
Ctrl+wChiudi scheda query corrente
Ctrl+kPassa alla scheda query successiva
TabAccetta suggerimento autocompletamento
EscapeChiudi menu autocompletamento
F1Mostra aiuto / documentazione contestuale
TastoDescrizione
Ctrl+rPassa focus al pannello risultati
Ctrl+ePassa focus all’editor query
Tasti frecciaNaviga tabella risultati
Ctrl+cCopia celle selezionate
TastoDescrizione
Ctrl+qEsci da Harlequin
Ctrl+bAttiva/disattiva barra laterale catalogo dati
F1Aiuto

DuckDB è l’adattatore predefinito e supporta funzionalità potenti:

-- Leggi file CSV direttamente
SELECT * FROM read_csv_auto('data.csv');

-- Leggi file Parquet
SELECT * FROM read_parquet('data.parquet');

-- Leggi file JSON
SELECT * FROM read_json_auto('data.json');

-- Interroga file remoti
SELECT * FROM read_csv_auto('https://example.com/data.csv');

-- Interroga file S3 (con adattatore s3)
SELECT * FROM read_parquet('s3://bucket/data.parquet');

-- Aggrega dati da file multipli
SELECT * FROM read_csv_auto('logs/*.csv');

Crea un file di configurazione per salvare profili di connessione usati frequentemente:

# ~/.config/harlequin/config.toml
# (o usa flag --config per specificare percorso)

[profiles.local-pg]
adapter = "postgres"
host = "localhost"
port = 5432
user = "myuser"
database = "mydb"

[profiles.prod-readonly]
adapter = "postgres"
host = "prod-db.example.com"
port = 5432
user = "readonly"
database = "production"
theme = "monokai"

[profiles.duckdb-analytics]
adapter = "duckdb"
conn_str = ["analytics.duckdb"]

Usa i profili con:

harlequin --profile local-pg
AdattatoreExtra InstallazioneEsempio Connessione
DuckDB(integrato)harlequin data.duckdb
SQLitesqliteharlequin -a sqlite data.db
PostgreSQLpostgresharlequin -a postgres -h host -U user -d db
MySQLmysqlharlequin -a mysql -h host -u user db
S3 / GCSs3Parquet/CSV su cloud storage
ODBCodbcConnessioni ODBC generiche
TrinotrinoCluster Trino/Presto
BigQuerybigqueryGoogle BigQuery
CassandracassandraApache Cassandra
ClickHouseclickhouseDatabase ClickHouse
MotherDuck(tramite DuckDB)DuckDB cloud
# Esplorazione dati rapida — apri CSV come database
harlequin
# Poi nell'editor query: SELECT * FROM read_csv_auto('data.csv') LIMIT 100;

# Esplora un database SQLite (es. DB app mobile)
harlequin -a sqlite app.db

# Connetti a Postgres locale per sviluppo
harlequin -a postgres -h localhost -p 5432 -U dev -d myapp_dev

# Analizza file Parquet senza caricarli in un database
harlequin
# Poi: SELECT * FROM read_parquet('output/*.parquet');
# Installa django-harlequin
pip install django-harlequin

# Avvia Harlequin connesso al tuo DB Django
./manage.py harlequin
ProblemaSoluzione
Adattatore non trovatoInstalla con extra: uv tool install 'harlequin[postgres]'
Connessione rifiutataControlla host, porta e che il server database sia in esecuzione
Problemi visualizzazioneProva un terminale diverso (Kitty, WezTerm, iTerm2 consigliati)
Lento su tabelle grandiUsa LIMIT nelle query; evita SELECT * su tabelle enormi
Autocompletamento mancanteAssicurati di essere connesso a un database con uno schema
FunzionalitàHarlequinDBeaverpgcliusql
Funziona in terminaleNo (GUI)
Multi-databaseSolo Postgres
AutocompletamentoNo
Tabella risultati visualeBaseBase
Query file (CSV, Parquet)Sì (DuckDB)LimitatoNoNo
Profili configurazioneNo