aurora-dsql

Provisions and manages Aurora DSQL clusters with IAM-authenticated psql queries and safe SQL construction.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/dennisvink/yolomancer --skill aurora-dsql-dennisvink
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: aurora-dsql
Source: https://github.com/dennisvink/yolomancer/tree/main/skills/aws/specialized-skills/database-skills/aurora-dsql
Command: npx skills add https://github.com/dennisvink/yolomancer --skill aurora-dsql-dennisvink

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Working with Amazon Aurora DSQL requires navigating IAM token authentication, strict DDL constraints (one statement per transaction, async indexes only), transaction limits, and SQL injection risks when building queries from untrusted input. This Skill provides the scripts, reference guides, and enforced patterns to operate DSQL clusters correctly without memorizing every constraint. ## Core Features & Use Cases - Cluster Lifecycle Management: Create, list, inspect, and delete DSQL clusters via bundled bash scripts that wrap the AWS CLI with tagging and deletion protection. - IAM-Authenticated Query Execution: Run ad-hoc queries through psql-connect.sh, which handles token generation, TLS configuration, and single-statement guards. - Safe SQL Construction: Build every query with safe_query.build() validators (allow, regex, ident, keyword, literal) to prevent SQL injection from tenant IDs, UUIDs, sort columns, and free text. - Migration & Diagnostics: Execute table-recreation DDL migrations, MySQL-to-DSQL schema translation, and query-plan explainability workflows with EXPLAIN ANALYZE. - Use Case: A developer building a multi-tenant app asks the agent to create a DSQL cluster, set up scoped database roles, and write a Python service using the aurora-dsql-python-connector with tenant-isolated queries. ## Quick Start Ask the agent to create an Aurora DSQL cluster and connect to it with psql to list the tables in the public schema.

Frequently Asked Questions about aurora-dsql

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect to an Aurora DSQL cluster with psql?

Use the psql-connect.sh script, which generates an IAM auth token via aws dsql generate-db-connect-auth-token and configures TLS automatically. Run ./scripts/psql-connect.sh --cluster <id> --command "SELECT 1" for read queries, adding --admin for DDL operations.

How do I prevent SQL injection when building DSQL queries?

Build every query with safe_query.build() using validators like regex() for UUIDs and tenant slugs, allow() for enums, ident() for table names, and literal() for free text. Never use f-strings or concatenation, since psql -c accepts only raw SQL strings without parameter binding.

Which driver should I use for Aurora DSQL in Python or Node.js?

Use the official DSQL Connectors: aurora-dsql-python-connector for Python (psycopg, psycopg2, or asyncpg) and @aws/aurora-dsql-node-postgres-connector or @aws/aurora-dsql-postgresjs-connector for Node.js. Bare drivers fail after the 15-minute IAM token expiry because they lack token refresh.

Does Aurora DSQL support ALTER COLUMN TYPE or DROP COLUMN?

No, DSQL does not support direct ALTER COLUMN TYPE, DROP COLUMN, DROP CONSTRAINT, or MODIFY PRIMARY KEY. These changes require the Table Recreation Pattern: create a new table, batch-copy data under 3,000 rows per transaction, verify, and swap.

What are the Aurora DSQL transaction limits?

Default limits are 3,000 rows mutated per transaction, 10 MiB of data per write transaction, and 5-minute transaction duration. Indexes are capped at 24 per table and 8 columns per index, and CREATE INDEX ASYNC is mandatory since synchronous index creation is unsupported.

Why does my DSQL connection fail with authentication errors?

IAM auth tokens expire after 15 minutes, so long-lived connections or pools using a static token start failing. Regenerate tokens per session or use a language-specific DSQL Connector that handles automatic token rotation, and ensure sslmode=verify-full is set.