Pular para o conteúdo

Harlequin - Folha de Referência da IDE SQL de Terminal

Harlequin - Folha de Referência da IDE SQL de Terminal

Seção intitulada “Harlequin - Folha de Referência da IDE SQL de Terminal”

Uma IDE SQL completa que roda inteiramente em seu terminal. Apresenta destaque de sintaxe, autocompletar, barra lateral de catálogo de dados, múltiplos adaptadores de banco de dados e exportação de resultados — sem necessidade de GUI.

MétodoComando
uv (Recomendado)uv tool install harlequin
pippip install harlequin
pipxpipx install harlequin
Homebrewbrew install harlequin
Poetrypoetry add harlequin
# DuckDB (integrado, sem instalação extra necessária)
uv tool install harlequin

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

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

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

# Múltiplos adaptadores de uma vez
uv tool install 'harlequin[postgres,mysql,sqlite,s3]'

Requisitos: Python 3.9+

ComandoDescrição
harlequinAbrir com banco de dados DuckDB em memória
harlequin mydb.duckdbAbrir um arquivo de banco de dados DuckDB
harlequin -a sqlite mydb.dbAbrir um banco de dados SQLite
harlequin -a sqliteAbrir banco de dados SQLite em memória
harlequin -a postgres -h localhost -p 5432 -U user -d mydbConectar ao PostgreSQL
harlequin -a mysql -h localhost -u root mydbConectar ao MySQL
harlequin --theme monokaiUsar um tema de cores específico
harlequin --locale en_USDefinir localização de formatação de números
harlequin --helpMostrar todas as opções CLI
TeclaDescrição
Ctrl+EnterExecutar consulta atual
Ctrl+jExecutar consulta atual (alternativa)
Ctrl+oAbrir um arquivo SQL
Ctrl+sSalvar consulta atual em arquivo
Ctrl+nNova aba de consulta
Ctrl+wFechar aba de consulta atual
Ctrl+kMudar para próxima aba de consulta
TabAceitar sugestão de autocompletar
EscapeDispensar menu de autocompletar
F1Mostrar ajuda / documentação contextual
TeclaDescrição
Ctrl+rMudar foco para painel de resultados
Ctrl+eMudar foco para editor de consultas
Setas direcionaisNavegar tabela de resultados
Ctrl+cCopiar célula(s) selecionada(s)
TeclaDescrição
Ctrl+qSair do Harlequin
Ctrl+bAlternar barra lateral de catálogo de dados
F1Ajuda

DuckDB é o adaptador padrão e suporta recursos poderosos:

-- Ler arquivos CSV diretamente
SELECT * FROM read_csv_auto('data.csv');

-- Ler arquivos Parquet
SELECT * FROM read_parquet('data.parquet');

-- Ler arquivos JSON
SELECT * FROM read_json_auto('data.json');

-- Consultar arquivos remotos
SELECT * FROM read_csv_auto('https://example.com/data.csv');

-- Consultar arquivos S3 (com adaptador s3)
SELECT * FROM read_parquet('s3://bucket/data.parquet');

-- Agregar dados de múltiplos arquivos
SELECT * FROM read_csv_auto('logs/*.csv');

Crie um arquivo de configuração para salvar perfis de conexão frequentemente usados:

# ~/.config/harlequin/config.toml
# (ou use flag --config para especificar caminho)

[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"]

Usar perfis com:

harlequin --profile local-pg
AdaptadorInstalação ExtraExemplo de Conexão
DuckDB(integrado)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 em armazenamento na nuvem
ODBCodbcConexões ODBC genéricas
TrinotrinoClusters Trino/Presto
BigQuerybigqueryGoogle BigQuery
CassandracassandraApache Cassandra
ClickHouseclickhouseBancos de dados ClickHouse
MotherDuck(via DuckDB)DuckDB na nuvem
# Exploração rápida de dados — abrir CSV como banco de dados
harlequin
# Então no editor de consultas: SELECT * FROM read_csv_auto('data.csv') LIMIT 100;

# Explorar um banco de dados SQLite (ex: DB de app mobile)
harlequin -a sqlite app.db

# Conectar ao Postgres local para desenvolvimento
harlequin -a postgres -h localhost -p 5432 -U dev -d myapp_dev

# Analisar arquivos Parquet sem carregar em um banco de dados
harlequin
# Então: SELECT * FROM read_parquet('output/*.parquet');
# Instalar django-harlequin
pip install django-harlequin

# Iniciar Harlequin conectado ao seu DB Django
./manage.py harlequin
ProblemaSolução
Adaptador não encontradoInstalar com extras: uv tool install 'harlequin[postgres]'
Conexão recusadaVerificar host, porta e se o servidor de banco de dados está rodando
Problemas de exibiçãoTente um terminal diferente (Kitty, WezTerm, iTerm2 recomendados)
Lento em tabelas grandesUse LIMIT em consultas; evite SELECT * em tabelas enormes
Autocompletar faltandoCertifique-se de estar conectado a um banco de dados com esquema
RecursoHarlequinDBeaverpgcliusql
Roda em terminalSimNão (GUI)SimSim
Multi-banco de dadosSimSimApenas PostgresSim
AutocompletarSimSimSimNão
Tabela de resultados visualSimSimBásicaBásica
Consultas de arquivo (CSV, Parquet)Sim (DuckDB)LimitadoNãoNão
Perfis de configuraçãoSimSimSimNão