aurora-dsql
Provisions and manages Aurora DSQL clusters, connects via psql or DSQL Connectors, manages schemas, runs queries, migrates from MySQL, diagnoses query plans, and develops apps on serverless distributed SQL. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL migration, DDL, query plans, and SAFE S
By aws · 3,248 installs
npx skills add aws/agent-toolkit-for-aws --skill aurora-dsql
Source repository · Upstream listing
Amazon Aurora DSQL
Overview
Aurora DSQL is a serverless, PostgreSQL compatible distributed SQL database. This skill provides direct database interaction via psql scripts and PostgreSQL drivers, schema management, migration support, multi tenant patterns, and query plan explainability.
Key capabilities:
Direct query execution via psql with generated IAM auth tokens (see [ scripts/psql connect.sh ](scripts/psql connect.sh))
Schema management with DSQL constraints (one DDL per transaction, async indexes)
Safe data migration (column level, constraint level, MySQL→DSQL)
Multi tenant isolation via tenant id + parameterized SQL
IAM based authentication with a 15 minute token expiry
Query plan diagnosis for slow queries (EXPLAIN ANALYZE + GUC experiments)
The recommended runtime is psql with aws dsql generate db connect auth token for IAM authenticated sessions. Application code SHOULD use the language specific [DSQL Connectors and SDKs](https://docs.aws.amazon.com/aurora dsql/latest/userguide/aws sdks.html). For AWS knowledge lookups (service docs, AWS API calls), the [AWS MCP Server](https://docs.aws.amazon.com/aws mcp/latest/userguide/mcp server.html) is the preferred MCP integration.
Reference Files
Load these files as needed for detailed guidance:
[development guide.md](references/development guide.md)
When: ALWAYS load before implementing schema changes or database operations
Contains: [Best Practices](references/development guide.md), DDL rules, connection patterns, transaction limits, data type serialization patterns, application layer referential integrity instructions, security best practices
Query Execution:
[database tools.md](references/database tools.md)
When: Load when you need detailed syntax and examples for ad hoc query execution against DSQL. PREFER psql (via [ scripts/psql connect.sh ](scripts/psql connect.sh)) for ad hoc queries — execute directly rather than writing one off scripts.
Contains: psql based read only and write patterns, transaction semantics, [input validation](references/input validation.md)
MCP (AWS knowledge / API):
[mcp setup.md](references/mcp setup.md)
When: Load when configuring or recommending the AWS MCP Server for AWS knowledge lookups, AWS API access, or per assistant install.
Contains: When to use psql vs the AWS MCP Server, pointer to the canonical AWS setup docs, credential reminders.
[mcp tools.md](references/mcp tools.md)
When: Load when invoking AWS MCP Server tools to verify DSQL service limits, fetch docs, or drive AWS API calls.
Contains: Tool surface — knowledge ( aws search documentation , aws read documentation , aws recommend , aws retrieve skill , aws list regions , aws get regional availability ) and API ( aws call aws , aws run script , aws get tasks , aws get presigned url ); pointers to documentation tools.md.
[documentation tools.md](references/documentation tools.md)
When: Load when looking up DSQL service limits, fetching a specific AWS docs page, or polling long running AWS API calls launched via the AWS MCP Server.
Contains: Detailed parameters and example calls for the AWS knowledge tools.
[platforms/](references/platforms/) — per assistant install notes
When: Load when installing the AWS MCP Server inside a specific coding assistant.
Contains: Per assistant entry point details — [claude code.md](references/platforms/claude code.md), [codex.md](references/platforms/codex.md), [gemini.md](references/platforms/gemini.md), [kiro.md](references/platforms/kiro.md).
[language.md](references/language.md)
When: MUST load before writing DSQL connection code. Mirror the linked example preferred.<ext for the chosen driver — memory authored connections drift from the canonical IAM token refresh pattern. Canonical entry point examples (load language.md for the full driver list + pool/TLS/token refresh details):
Python: import aurora dsql psycopg as dsql → dsql.connect(host, region, user)
JS (node postgres): import { AuroraDSQLPool } from "@aws/aurora dsql node postgres connector" → new AuroraDSQLPool({ host, user })
JS (postgres.js): import { auroraDSQLPostgres } from "@aws/aurora dsql postgresjs connector" → auroraDSQLPostgres({ host, user })
Go (pgx): import "github.com/awslabs/aurora dsql connectors/go/pgx/dsql"
Java (JDBC): software.amazon.dsql:aurora dsql jdbc connector:1.4.0 → jdbc:aws dsql:postgresql://...
Contains: Canonical DSQL connector packages per language, driver selection, framework patterns, IAM auth token rotation and TLS configuration, and connection code examples for Python / JavaScript / TypeScript / Go / Java / Rust.
[troubleshooting.md](references/troubleshooting.md)
When: Load when debugging errors or unexpected behavior. SHOULD always consult for OCC errors, connection failures, or unexpected query results.
Contains: Common pitfalls, error messages, solutions
[onboarding.md](references/onboarding.md)
When: User explicitly requests to "Get started with DSQL" or similar phrase
Contains: Interactive step by step guide for new users
[access control.md](references/access control.md)
When: MUST load when creating database roles, granting permissions, setting up schemas for applications, or handling sensitive data. ALWAYS use scoped roles for applications — create database roles with dsql:DbConnect .
Contains: Scoped role setup, IAM to database role mapping, schema separation for sensitive data, role design patterns
Authentication & Operations:
[auth/authentication guide.md](references/auth/authentication guide.md)
When: MUST load when handling IAM auth tokens, secrets, SSL/TLS, connection pooling, or audit logging.
Contains: Token lifecycle, secret storage patterns, SSL/TLS settings, connection pool guidance, audit log integration.
[auth/connectivity tools.md](references/auth/connectivity tools.md)
When: Load when picking a driver/ORM/adapter or planning bulk data loading.
Contains: Pointer to the canonical AWS DSQL connectivity tools page (drivers, ORMs, adapters) and the bulk loading docs page.
[auth/scaling guide.md](references/auth/scaling guide.md)
When: Load when designing for scale — connection pooling, batch optimization, hot key avoidance, identifier choice.
Contains: Horizontal scaling strategy, pool sizing, batch size guidance, IDENTITY/UUID trade offs, sequence cache rules.
Implementation Examples:
[workflow patterns.md](references/workflow patterns.md)
When: Load when looking for a worked example of a common multi step DSQL workflow (schema explore, CREATE+INDEX, safe migration, batch insert, application layer FK check).
Contains: Five canonical patterns with psql / driver code.
[dsql examples.md](references/dsql examples.md)
When: Load when looking for specific implementation examples.
Contains: Index of examples/ .md (connection, schema, data operations, migrations, patterns).
DDL Migrations (modular):
[ddl migrations/overview.md](references/ddl migrations/overview.md)
When: MUST load when performing DROP COLUMN, RENAME COLUMN, ALTER COLUMN TYPE, or DROP CONSTRAINT
Contains: Table recreation pattern overview, transaction rules, common verify & swap pattern
[ddl migrations/column operations.md](references/ddl migrations/column operations.md)
When: Load for DROP COLUMN, ALTER COLUMN TYPE, SET/DROP NOT NULL, SET/DROP DEFAULT migrations
Contains: Step by step migration patterns for column level changes
[ddl migrations/constraint operations.md](references/ddl migrations/constraint operations.md)
When: Load for ADD/DROP CONSTRAINT, MODIFY PRIMARY KEY, column split/merge migrations
Contains: Step by step migration patterns for constraint and structural changes
[ddl migrations/batched migration.md](references/ddl migrations/batched migration.md)
When: Load when migrating tables exceeding 3,000 rows
Contains: OFFSET based and cursor based batching patterns, progress tracking, error handling
MySQL Migrations (modular):
[mysql migrations/type mapping.md](references/mysql migrations/type mapping.md)
When: MUST load when migrating MySQL schemas to DSQL
Contains: MySQL data type mappings, feature alternatives, DDL operation mapping
[mysql migrations/ddl operations.md](references/mysql migrations/ddl operations.md)
When: Load when translating MySQL DDL operations to DSQL equivalents
Contains: ALTER COLUMN, DROP COLUMN, AUTO INCREMENT, ENUM, SET, FOREIGN KEY migration patterns
[mysql migrations/full example.md](references/mysql migrations/full example.md)
When: Load when migrating a complete MySQL table to DSQL
Contains: End to end MySQL CREATE TABLE migration example with decision summary
Query Plan Explainability (modular):
When: MUST load all four at Workflow 8 Phase 0 — [query plan/plan interpretation.md](references/query plan/plan interpretation.md), [query plan/catalog queries.md](references/query plan/catalog queries.md), [query plan/guc experiments.md](references/query plan/guc experiments.md), [query plan/report format.md](references/query plan/report format.md)
Contains: DSQL node types + Node Duration math + estimation error bands, pg class/pg stats/pg indexes SQL + correlated predicate verification, GUC experiment procedures + 30 second skip protocol, required report structure + element checklist + support request template
Query Execution
Run ad hoc DSQL queries with psql and a freshly generated IAM auth token. The bundled
[ scripts/psql connect.sh ](scripts/psql connect.sh) wraps token generation, TLS configuration, and
single statement guards — PREFER it over hand rolled psql invocations.
Read only:
Write/DDL (IAM admin auth token required):
Schema discovery: there is no special list tables helper — use information schema:
See [database tools.md](references/database tools.md) for detailed usage and examples.
AWS Knowledge via the AWS MCP Server (optional)
When connected to the [AWS MCP Server](https://docs.aws.amazon.com/aws mcp/latest/userguide/mcp server.html),
its aws search documentation and aws read documentation tools can verify DSQL service
limits before advising users. The numeric limits below are defaults that may change — when a
user's decision depends on an exact limit, verify it first:
Limit Default Verify query
Max rows mutated per transaction 3,000 aurora dsql transaction limits
Max data modified per write transaction 10 MiB aurora dsql transaction limits
Max transaction duration 5 minutes aurora dsql transaction limits
Max connections per cluster 10,000 aurora dsql connection limits
IAM auth token expiry 15 minutes aurora dsql authentication token
Max connection duration 60 minutes aurora dsql connection limits
Max indexes per table 24 aurora dsql index limits
Max columns per index 8 aurora dsql index limits
IDENTITY/SEQUENCE CACHE values 1 or = 65536 aurora dsql sequence cache
When to verify: Before recommending batch sizes, connection pool settings, or schema designs
where hitting a limit would cause failures. No need to verify for general guidance or when
the exact number doesn't affect the user's decision.
Fallback: If the AWS MCP Server is unavailable, use the defaults above and note to the user
that limits should be verified against [DSQL documentation](https://docs.aws.amazon.com/aurora dsql/latest/userguide/).
CLI Scripts Available
Bash scripts in [scripts/](scripts/) for cluster management (create, delete, list, cluster info) and psql connection. See [ref