

# Aurora DSQL 和 PostgreSQL
<a name="working-with"></a>

Aurora DSQL 是与 PostgreSQL 兼容的分布式关系数据库，专为事务性工作负载而设计。Aurora DSQL 使用核心 PostgreSQL 组件，例如解析器、规划器、优化器和类型系统。

Aurora DSQL 的设计可确保所有受支持的 PostgreSQL 语法都提供兼容的行为并生成完全相同的查询结果。例如，Aurora DSQL 提供与 PostgreSQL 完全相同的类型转换、算术运算以及数值精度和小数位数。任何偏差都记录在案。

Aurora DSQL 还引入了高级功能，例如乐观并发控制和分布式架构管理。借助这些功能，您可以利用 PostgreSQL 的熟悉的工具，同时受益于现代、云原生、分布式应用程序的性能和可扩展性。

## PostgreSQL 兼容性亮点
<a name="dsql-pg-overview-compat"></a>

Aurora DSQL 目前基于 PostgreSQL 版本 16。关键亮点包括以下各项：

**线路协议**  
Aurora DSQL 使用标准 PostgreSQL v3 线路协议。这样就可以与标准 PostgreSQL 客户端、驱动程序和工具集成。例如，Aurora DSQL 与 `psql`、`pgjdbc` 和 `psycopg` 兼容。

**SQL 语法**  
Aurora DSQL 支持事务性工作负载中常用的各种标准 PostgreSQL 表达式和函数。支持的 SQL 表达式与 PostgreSQL 生成完全相同的结果，包括以下各项：  
+ 空值的处理
+ 排序顺序行为
+ 数值运算的小数位数和精度
+ 字符串操作的等效性
有关更多信息，请参阅 [Aurora DSQL 中的 SQL 功能兼容性](working-with-postgresql-compatibility.md)。

**事务管理**  
Aurora DSQL 保留了 PostgreSQL 的主要特征，例如 ACID 事务和等同于 PostgreSQL 可重复读取的隔离级别。有关更多信息，请参阅 [Aurora DSQL 中的并发控制](working-with-concurrency-control.md)。

## 分布式架构优势
<a name="dsql-pg-overview-arch"></a>

Aurora DSQL 的分布式、无共享设计提供了超越传统单节点数据库的性能和可扩展性优势。主要功能包括以下各项：

**乐观并发控制（OCC）**  
Aurora DSQL 使用乐观并发控制模型。这种无锁方法可防止事务相互阻塞，消除死锁，并支持高吞吐量的并行执行。这些功能使得 Aurora DSQL 对于需要大规模一致性能的应用程序特别有价值。有关更多示例，请参阅 [Aurora DSQL 中的并发控制](working-with-concurrency-control.md)。

**异步 DDL 操作**  
Aurora DSQL 异步运行 DDL 操作，从而支持在架构更改期间不间断地读取和写入。其分布式架构可让 Aurora DSQL 执行以下操作：  
+ 将 DDL 操作作为后台任务运行，从而最大限度地减少中断。
+ 将目录更改协调为强一致性分布式事务。这可以确保跨所有节点的原子可见性，即使在故障或并发操作期间也是如此。
+ 跨多个可用区以完全分布式、无中心节点的方式运行，且计算层和存储层已分离。
有关在 PostgreSQL 中使用 EXPLAIN 命令的更多信息，请参阅 [Aurora DSQL 中的 DDL 和分布式事务](working-with-ddl.md)。