AWS Database Blog
Category: Technical How-to
Working with foreign key constraints in Aurora DSQL
Amazon Aurora DSQL supports foreign key constraints, letting you enforce referential integrity directly in the database. This post covers defining foreign keys, immediate versus deferred enforcement, adding constraints to existing tables, and how optimistic concurrency control resolves conflicts in distributed workloads.
Babelfish for Aurora PostgreSQL performance tuning
In this post, we show you how to tune Babelfish performance through monitoring, query optimization, parameter tuning, and ongoing maintenance.
Migrate Db2 z/OS to Amazon Aurora PostgreSQL using AWS DMS and gateway server
Learn how to use AWS DMS and a Db2 gateway server on Amazon EC2 to migrate and replicate data from an on-premises IBM Db2 database on z/OS to Amazon Aurora PostgreSQL. This post covers configuring the gateway, creating DMS resources, running a full load with periodic full-load refresh, and validating the migration.
How to stream PostgreSQL changes to Amazon S3 with AWS Fargate
In this post, we show you how to build a fully managed, event-driven change data capture (CDC) pipeline. It streams row-level changes from Amazon RDS for PostgreSQL or Amazon Aurora PostgreSQL to Amazon S3 in near real time. You deploy the entire pipeline with a single AWS CloudFormation template, and it can run in private subnets with no internet gateway without exposing resources to the public internet.
Intuitive risk investigation with Amazon Neptune and Linkurious Enterprise
Learn how to configure Linkurious Enterprise to connect to Amazon Neptune and give business users intuitive, code-free graph exploration for risk investigation, from setup and full-text search with Amazon OpenSearch Service to investigating ultimate beneficial owners for AML compliance.
Migrate SQL Server multi-result-set procedures to PostgreSQL
SQL Server stored procedures can return multiple result sets from one call, but PostgreSQL cannot. This post presents two PostgreSQL-native alternatives to refcursors, session-scoped temporary tables and JSON aggregation, compares both against a refcursor baseline, and shows how to implement and validate each in .NET and Npgsql.
Implement a correctness-safe Bloom filter lookup with Amazon ElastiCache for Valkey and Amazon Aurora PostgreSQL
This post shows how to compose a Bloom filter with an exact-match cache and a relational source of truth into a three-tier, correctness-safe membership lookup using Amazon ElastiCache for Valkey and Amazon Aurora PostgreSQL, serving sub-millisecond decisions at peak throughput without false-positive risk.
Resolve Amazon Aurora PostgreSQL lock contention with Database Insights: Part 2
Part 1 showed how row lock contention degrades Amazon Aurora PostgreSQL throughput. In Part 2, use Amazon CloudWatch Database Insights and its Lock Tree to pinpoint blocking sessions, then resolve contention with query termination, timeout parameters, and architectural patterns such as SKIP LOCKED and row splitting that restore throughput.
Troubleshooting row lock contention in Amazon Aurora PostgreSQL: Part 1 – Understanding row lock contention in PostgreSQL
Row lock contention can collapse database throughput during a flash sale even when CPU and I/O look healthy. In Part 1 of this series, learn how PostgreSQL row locking works and how to monitor lock contention in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL using system views, the pgrowlocks extension, and the log_lock_waits parameter.
Run DuckDB analytics on your Amazon DynamoDB data with zero-ETL
Run ad hoc SQL analytics on your Amazon DynamoDB data with DuckDB. A zero-ETL integration replicates your table into Apache Iceberg tables on Amazon S3 Tables, and an AWS Lambda function running DuckDB serves SQL queries through an IAM-authorized function URL.









