Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)48 mil · #3858

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/postgresql-devsec/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/postgresql-devsec/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-devsec

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3858
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas