psql é o cliente interativo de linha de comando do PostgreSQL — usado para conectar-se a um banco de dados e executar consultas, inspecionar o schema e administrar o banco de dados. Ele possui meta-comandos especiais (iniciados com \) para navegação e administração, além de executar SQL.
Conectando
psql -U username -d database_name -h host -p 5432 # connect with options
psql postgresql://user:pass@host:5432/dbname # or a connection URL
psql mydb # connect to a local database
Meta-comandos essenciais (comandos de barra invertida)
\l list all databases
\c dbname connect to a database
\dt list TABLES in the current database
\d tablename describe a table (columns, types, indexes, constraints)
\di list indexes
\dn list schemas
\du list roles/users
\df list functions
\dv list views
\x toggle expanded display (vertical — readable for wide rows)
\timing toggle query timing
\? help on meta-commands
\h SELECT help on a SQL command
\q quit
Estes meta-comandos \ permitem explorar e administrar o banco de dados rapidamente — \dt (listar tabelas), \d tablename (inspecionar a estrutura de uma tabela) e \l (listar bancos de dados) são usados constantemente.
Executando consultas e scripts
SELECT * FROM users LIMIT 5; -- run SQL directly (end with ;)
psql -d mydb -f script.sql -- run a SQL FILE
psql -d mydb -c "SELECT count(*) FROM users" -- run a single command and exit
\i script.sql -- run a file from within psql
\copy users TO 'users.csv' CSV HEADER -- export to CSV (client-side)
Configurações úteis
\x auto auto-switch to vertical display for wide results
\timing on show how long each query takes
\e open the last query in an editor
\set, \pset configure variables and output formatting
Por que isso importa
psql é a ferramenta essencial e cotidiana para trabalhar diretamente com PostgreSQL — desenvolvedores e DBAs a usam constantemente para conectar, consultar, inspecionar e administrar bancos de dados, portanto, conhecer seus fundamentos é conhecimento prático e fundamental para trabalho com Postgres.
Embora ferramentas GUI existam, psql é a interface universal e sempre disponível (presente em qualquer lugar onde o Postgres esteja), e seus meta-comandos (\) a tornam especialmente poderosa para exploração rápida do banco de dados e administração que SQL puro não pode fazer convenientemente: \dt (listar tabelas), \d tablename (inspecionar a estrutura completa de uma tabela — colunas, tipos, índices, constraints — uma necessidade constante), \l (listar bancos de dados), \du (listar usuários/roles) e outros permitem navegar e entender um banco de dados rapidamente.
Saber como conectar (com opções ou uma URL), executar consultas e scripts (-f para arquivos, -c para comandos únicos), usar os meta-comandos para inspeção e configurações úteis (\x para exibição legível de linhas largas, \timing para cronometragem de consultas) é conhecimento prático cotidiano para qualquer desenvolvedor ou administrador de Postgres.
Como psql é a interface de linha de comando padrão e onipresente do PostgreSQL — usada para desenvolvimento, depuração, administração, scripts e exploração — compreender seus comandos essenciais e fluxo de trabalho é conhecimento valioso e frequentemente aplicado que torna o trabalho com Postgres eficiente, e é uma competência básica esperada de qualquer pessoa que trabalhe diretamente com o banco de dados.
