postgresql-devsec
Ajuda seu agente a administrar bancos de dados PostgreSQL. Ele configura backups, replicação e melhora o desempenho.
O que ela faz
Este agente ajuda a gerenciar bancos de dados PostgreSQL. Ele pode configurar cópias de segurança (backups), replicação de dados entre servidores e otimizar o desempenho.
Quando usar
- ✓Quando você precisa instalar e configurar o PostgreSQL.
- ✓Para fazer cópias de segurança e restaurar seus dados.
- ✓Ao configurar a replicação de dados entre servidores.
Exemplo do que pedir para a IA
“Configure o PostgreSQL para que ele possa ser acessado de qualquer lugar e faça um backup completo do banco de dados 'meu_banco'.”
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
O agente usa comandos do sistema operacional para instalar o PostgreSQL e seus componentes. Em seguida, ele configura o banco de dados, gerencia backups e replicação através de comandos específicos do PostgreSQL.
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 postgresql-devsecOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/postgresql-devsec/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.
PostgreSQL
Administre, otimize e proteja bancos de dados PostgreSQL em ambientes de desenvolvimento e produção.
Quando Usar
- Você precisa de um banco de dados relacional confiável e compatível com ACID.
- Sua aplicação exige recursos avançados como JSONB, busca de texto completo (full-text search) ou CTEs (Common Table Expressions).
- Você está configurando replicação por streaming (streaming replication) ou recuperação em ponto no tempo (point-in-time recovery).
- Você precisa ajustar uma implantação PostgreSQL existente para melhor desempenho (throughput).
Pré-requisitos
- Servidor Linux (Debian/Ubuntu ou baseado em RHEL) ou Docker.
- Acesso root ou sudo para instalação de pacotes.
- Familiaridade com os fundamentos de SQL.
Instalação e Configuração
# Debian / Ubuntu
sudo apt update
sudo apt install -y postgresql postgresql-contrib
# RHEL / Amazon Linux
sudo dnf install -y postgresql15-server postgresql15-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
# Verify
psql --version
sudo systemctl status postgresql
Configuração Inicial de Usuário e Banco de Dados
# Switch to the postgres system user
sudo -u postgres psql
-- Create an application user
CREATE USER myapp WITH PASSWORD 'strong_password_here';
-- Create the database owned by that user
CREATE DATABASE mydb OWNER myapp;
-- Grant connection privileges
GRANT ALL PRIVILEGES ON DATABASE mydb TO myapp;
-- Connect to the database and set default privileges
\c mydb
ALTER DEFAULT PRIVILEGES IN SCHEMA public
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO myapp;
Referência de Comandos psql
\l -- list databases
\dt -- list tables in current database
\d+ tablename -- describe table with storage info
\du -- list roles
\x -- toggle expanded output
\timing on -- show query execution time
\i file.sql -- execute SQL from file
\copy -- fast client-side COPY
Ajuste de Configuração (Tuning)
Edite /etc/postgresql/15/main/postgresql.conf (o caminho varia conforme o sistema operacional e a versão).
# Connection settings
listen_addresses = '*'
max_connections = 200
# Memory — adjust to ~25% of total RAM for shared_buffers
shared_buffers = 4GB
effective_cache_size = 12GB
work_mem = 16MB
maintenance_work_mem = 512MB
# WAL / write performance
wal_buffers = 64MB
checkpoint_completion_target = 0.9
min_wal_size = 1GB
max_wal_size = 4GB
# Planner
random_page_cost = 1.1 # lower for SSD
effective_io_concurrency = 200 # for SSD
# Logging
log_min_duration_statement = 250 # log queries slower than 250 ms
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
# Reload configuration without restart
sudo -u postgres psql -c "SELECT pg_reload_conf();"
# Some settings (shared_buffers, max_connections) require a full restart
sudo systemctl restart postgresql
pg_hba.conf — Autenticação de Clientes
# /etc/postgresql/15/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
host mydb myapp 10.0.0.0/8 scram-sha-256
host all all 0.0.0.0/0 reject
sudo systemctl reload postgresql
Backup e Restauração
Backups Lógicos com pg_dump
# Plain SQL backup
pg_dump -U myapp -h localhost mydb > /backups/mydb_$(date +%F).sql
# Custom compressed format (recommended)
pg_dump -U myapp -h localhost -Fc mydb > /backups/mydb_$(date +%F).dump
# Backup a single table
pg_dump -U myapp -h localhost -t orders -Fc mydb > /backups/orders.dump
# Restore from custom format
pg_restore -U myapp -h localhost -d mydb --clean --if-exists /backups/mydb_2025-01-15.dump
# Restore plain SQL
psql -U myapp -h localhost -d mydb < /backups/mydb_2025-01-15.sql
Backups Físicos com pg_basebackup
# Full base backup (used for PITR and replica seeding)
pg_basebackup -h localhost -U replicator -D /backups/base_$(date +%F) \
--wal-method=stream --checkpoint=fast --progress --verbose
# Verify the backup
pg_verifybackup /backups/base_2025-01-15
Replicação por Streaming
Servidor Primário
-- Create replication user
CREATE USER replicator WITH REPLICATION LOGIN PASSWORD 'repl_secret';
# postgresql.conf on primary
wal_level = replica
max_wal_senders = 5
wal_keep_size = 1GB
# pg_hba.conf on primary
host replication replicator 10.0.0.0/8 scram-sha-256
Servidor de Réplica
# Pare o PostgreSQL na réplica
sudo systemctl stop postgresql
# Remova o diretório de dados existente
…
Perguntas frequentes
O que é um banco de dados relacional?
É um tipo de banco de dados que organiza os dados em tabelas com linhas e colunas, como uma planilha, e permite relacionar informações entre elas.
O que é replicação?
É o processo de copiar dados de um banco de dados para outro, garantindo que ambos tenham as mesmas informações e que o sistema continue funcionando mesmo se um falhar.
O que é backup?
É uma cópia de segurança dos seus dados. Se algo der errado com o banco de dados principal, você pode usar o backup para restaurar as informações.
Detalhes
Descrição original do autor
Administer PostgreSQL databases. Configure replication, backups, and performance tuning. Use when managing PostgreSQL deployments.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3858
- 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
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC