postgres-readonly-queries
Permite que seu agente leia dados de bancos de dados PostgreSQL com segurança. Ele garante que os dados não sejam alterados acidentalmente.
O que ela faz
Este agente permite que você faça perguntas a bancos de dados PostgreSQL de forma segura, apenas para leitura. Ele se conecta a diferentes bancos de dados que você configurar e garante que você não altere nada acidentalmente.
Quando usar
- ✓Quando você precisa ver dados em um banco de dados PostgreSQL sem risco de alterá-los.
- ✓Ao explorar as tabelas e colunas de um banco de dados.
- ✓Para verificar informações específicas em um banco de dados, como uma lista de clientes ou pedidos.
Exemplo do que pedir para a IA
“Liste os 10 primeiros usuários do banco de dados de produção.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você configura as informações de conexão para seus bancos de dados PostgreSQL em um arquivo. Depois, pode pedir ao agente para executar consultas SQL (comandos para buscar dados) que são sempre apenas para leitura, garantindo a segurança.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill postgres-readonly-queriesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/postgres-readonly-queries/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Habilidade de Consulta Somente Leitura do PostgreSQL
Quando Usar
- Use ao consultar bancos de dados PostgreSQL e o acesso deve permanecer estritamente somente leitura
- Use ao explorar esquemas, tabelas e dados em várias conexões configuradas
- Use quando quiser proteção em profundidade contra INSERT/UPDATE/DELETE acidentais ou DDL
Execute consultas seguras e somente leitura em bancos de dados PostgreSQL configurados.
Requisitos
- Python 3.8+
- psycopg2-binary:
pip install -r requirements.txt
Configuração
Crie connections.json no diretório da habilidade ou ~/.config/claude/postgres-connections.json.
Segurança: Defina as permissões do arquivo para 600, pois ele contém credenciais:
chmod 600 connections.json
{
"databases": [
{
"name": "production",
"description": "Main app database - users, orders, transactions",
"host": "db.example.com",
"port": 5432,
"database": "app_prod",
"user": "readonly_user",
"password": "your-password",
"sslmode": "require"
}
]
}
Campos de Configuração
| Campo | Obrigatório | Descrição |
|---|---|---|
| name | Sim | Identificador para o banco de dados (não diferencia maiúsculas de minúsculas) |
| description | Sim | Quais dados este banco de dados contém (usado para seleção automática) |
| host | Sim | Nome do host do banco de dados |
| port | Não | Número da porta (padrão: 5432) |
| database | Sim | Nome do banco de dados |
| user | Sim | Nome de usuário |
| password | Sim | Senha |
| sslmode | Não | Modo SSL: disable, allow, prefer (padrão), require, verify-ca, verify-full |
Uso
Listar bancos de dados configurados
python3 scripts/query.py --list
Consultar um banco de dados
python3 scripts/query.py --db production --query "SELECT * FROM users LIMIT 10"
Listar tabelas
python3 scripts/query.py --db production --tables
Mostrar esquema
python3 scripts/query.py --db production --schema
Limitar resultados
python3 scripts/query.py --db production --query "SELECT * FROM orders" --limit 100
Seleção de Banco de Dados
Combine a intenção do usuário com a descrição do banco de dados description:
| Usuário pergunta sobre | Procure descrição contendo |
|---|---|
| usuários, contas | usuários, contas, clientes |
| pedidos, vendas | pedidos, transações, vendas |
| analytics, métricas | analytics, métricas, relatórios |
| logs, eventos | logs, eventos, auditoria |
Se não estiver claro, execute --list e pergunte ao usuário qual banco de dados.
Recursos de Segurança
- Sessão somente leitura: A conexão usa o modo
readonly=Truedo PostgreSQL (proteção primária) - Validação de consulta: Apenas consultas SELECT, SHOW, EXPLAIN, WITH são permitidas
- Instrução única: Múltiplas instruções por consulta são rejeitadas
- Suporte SSL: Modo SSL configurável para conexões criptografadas
- Tempo limite de consulta: Tempo limite de instrução de 30 segundos aplicado
- Proteção de memória: Máximo de 10.000 linhas por consulta para evitar OOM
- Limite de largura de coluna: Máximo de 100 caracteres por coluna para saída legível
- Sanitização de credenciais: Mensagens de erro não vazam senhas
Solução de Problemas
| Erro | Solução |
|---|---|
| Configuração não encontrada | Crie connections.json no diretório da habilidade |
| Falha na autenticação | Verifique o nome de usuário/senha na configuração |
| Tempo limite de conexão | Verifique host/porta, verifique firewall/VPN |
| Erro SSL | Tente "sslmode": "disable" para bancos de dados locais |
| Aviso de permissão | Execute chmod 600 connections.json |
Códigos de Saída
- 0: Sucesso
- 1: Erro (configuração ausente, falha na autenticação, consulta inválida, erro no banco de dados)
Fluxo de Trabalho
- Execute
--listpara mostrar os bancos de dados disponíveis - Combine a intenção do usuário com a descrição do banco de dados
- Execute
--tablesou--schemapara explorar a estrutura - Execute a consulta com o LIMIT apropriado
Limitações
- As proteções somente leitura reduzem escritas acidentais, mas não podem substituir a política do servidor de banco de dados, gatilhos, extensões ou uma conta com privilégios excessivos. Use uma função de banco de dados com permissões somente leitura como controle primário.
- Os resultados das consultas podem conter dados pessoais, confidenciais ou regulamentados. Confirme o banco de dados pretendido e evite exportar ou compartilhar resultados sem autorização explícita.
- O script não substitui backups, auditorias, revisões de acesso ou controles de produção.
Perguntas frequentes
O que acontece se eu tentar alterar dados?
O agente foi projetado para impedir alterações. Ele só permite comandos de leitura (como SELECT) e tem proteções extras para evitar que você modifique ou apague dados por engano.
Como o agente sabe a qual banco de dados me conectar?
Você pode listar os bancos de dados configurados e escolher um pelo nome ou descrição. O agente também tenta adivinhar qual banco de dados você quer com base no que você pergunta.
É seguro colocar minhas senhas?
Sim, desde que você siga as instruções de segurança. As senhas ficam em um arquivo de configuração especial que deve ter permissões restritas (apenas você pode ler/escrever), e o agente não mostra senhas em mensagens de erro.
Detalhes
Descrição original do autor
Execute safe read-only SQL queries against PostgreSQL databases with multi-connection support and defense-in-depth write protection.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4677
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC