postgres-best-practices
Optimizar consultas y esquemas de PostgreSQL
¿Problemas con consultas de base de datos lentas y bajo rendimiento? Esta habilidad proporciona reglas de optimización de PostgreSQL probadas en producción de Supabase con ejemplos concretos de SQL y mejoras de rendimiento medibles.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "postgres-best-practices". This query takes 5 seconds on 100k rows: SELECT * FROM orders WHERE customer_id = 42 AND status = 'pending'
Resultado esperado:
Crear un índice compuesto: CREATE INDEX idx_orders_customer_status ON orders (customer_id, status). Esto cambia el plan de ejecución de scan secuencial a scan por índice, reduciendo el tiempo de consulta a menos de 10ms. El orden de las columnas importa: coloca el filtro de igualdad (customer_id) antes del filtro de status para un uso óptimo del índice.
Usando "postgres-best-practices". How do I prevent N+1 queries when fetching users with their profile data?
Resultado esperado:
Reemplazar consultas individuales con un JOIN: SELECT u.*, p.bio, p.avatar_url FROM users u LEFT JOIN user_profiles p ON p.user_id = u.id. Añadir un índice en user_profiles(user_id) para búsquedas rápidas. Esto reduce 101 consultas (1 para usuarios + 100 para perfiles) a una sola consulta.
Auditoría de seguridad
SeguroThis skill contains educational documentation for PostgreSQL best practices from Supabase. All 711 static analysis findings are false positives: the 'external_commands' detections are SQL code blocks in markdown documentation (not shell commands), 'network' URLs are reference links to postgresql.org and supabase.com, 'scripts' findings are SQL WITH clauses (CTEs), and 'crypto' warnings are text pattern matches in documentation. No executable code or security risks present.
Puntuación de calidad
Lo que puedes crear
Desarrollador backend optimizando consultas lentas
Identificar índices faltantes, corregir patrones N+1 y aplicar técnicas de optimización de consultas para reducir tiempos de respuesta de segundos a milisegundos.
Arquitecto de bases de datos diseñando nuevos esquemas
Aplicar mejores prácticas para tipos de datos, restricciones, claves foráneas y estrategias de indexación durante el diseño inicial del esquema.
Ingeniero DevOps ajustando bases de datos en producción
Configurar límites de conexión, ajustes de vacuum y monitoreo para mantener la salud de la base de datos bajo carga.
Prueba estos prompts
Review this PostgreSQL query for performance issues and suggest improvements: [paste query]
Analyze this table schema and query workload. What indexes should I create for optimal performance? Schema: [paste schema], Queries: [paste queries]
I'm fetching users and their orders with separate queries. Show me how to rewrite this as a single efficient JOIN with proper indexing.
Create a Row-Level Security policy for a multi-tenant SaaS where users can only access data belonging to their organization. Table structure: [paste schema]
Mejores prácticas
- Siempre añadir índices en columnas WHERE, JOIN y ORDER BY
- Usar EXPLAIN ANALYZE para verificar planes de ejecución de consultas antes de desplegar
- Implementar agrupación de conexiones para prevenir agotamiento de la base de datos
Evitar
- Ejecutar consultas sin índice en tablas grandes causando scans secuenciales
- Obtener todas las columnas con SELECT * en lugar de campos específicos
- Usar LIKE con comodines iniciales lo cual previene el uso de índices
Preguntas frecuentes
¿Cómo sé qué columnas necesitan índices?
¿Qué es N+1 y cómo lo corrijo?
¿Cuándo debo usar índices parciales?
¿Cómo funciona Row-Level Security?
¿Qué tamaño de pool de conexiones debo usar?
¿Por qué mis consultas son lentas después de añadir índices?
Detalles del desarrollador
Autor
sickn33Licencia
MIT
Repositorio
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/postgres-best-practicesRef.
main
Estructura de archivos