aurora_global_db_instance_status - Amazon Aurora

aurora_global_db_instance_status

显示所有 Aurora 实例的状态,包括 Aurora 全局数据库集群中的副本。

语法

aurora_global_db_instance_status()

Arguments

返回类型

包含以下列的 SETOF 记录:

  • server_id – 数据库实例的标识符。

  • session_id – 当前会话的唯一标识符。MASTER_SESSION_ID 的值标识写入器(主要)数据库实例。

  • aws_region – 此全球数据库实例在其中运行的 AWS 区域。有关区域列表,请参阅区域可用性

  • durable_lsn – 在存储中变得持久的日志序列号(LSN)。日志序列号 (LSN) 是标识数据库事务日志中的记录的唯一序列号。对 LSN 进行排序,以便较大的 LSN 表示较晚的事务。

  • highest_lsn_rcvd – 数据库实例从写入器数据库实例收到的最高 LSN。

  • feedback_epoch – 数据库实例在生成热备用信息时使用的纪元。热备用服务器是在主数据库处于恢复或备用模式时支持连接和查询的数据库实例。热备用服务器信息包括纪元(时间点)和有关用作热备用服务器的数据库实例的其他详细信息。有关更多信息,请参阅 PostgreSQL 文档中的热备用

  • feedback_xmin – 数据库实例使用的最小(最早)活动事务 ID。

  • oldest_read_view_lsn – 数据库实例用于从存储中读取的最早 LSN。

  • visibility_lag_in_msec – 此数据库实例滞后于写入器数据库实例的时间(以毫秒为单位)。

使用说明

此函数显示 Aurora 数据库集群的复制统计数据。对于集群中的每个 Aurora PostgreSQL 数据库实例,该函数显示一行数据,其中包括全局数据库配置中的任何跨区域副本。

您可以从 Aurora PostgreSQL 数据库集群或 Aurora PostgreSQL 全局数据库中的任何实例运行此函数。该函数返回有关所有副本实例滞后的详细信息。

要了解有关使用此函数(aurora_global_db_instance_status)或使用 aurora_global_db_status 监控滞后的更多信息,请参阅 监控基于 Aurora PostgreSQL 的全局数据库

有关 Aurora 全局数据库的信息,请参阅Amazon Aurora Global Database 概览

要开始使用 Aurora 全局数据库,请参阅 开始使用 Amazon Aurora Global Database 或参阅 Amazon Aurora 常见问题

示例

此示例显示跨区域实例统计数据。

=> SELECT * FROM aurora_global_db_instance_status(); server_id | session_id | aws_region | durable_lsn | highest_lsn_rcvd | feedback_epoch | feedback_xmin | oldest_read_view_lsn | visibility_lag_in_msec ------------------------------------------+--------------------------------------+--------------+-------------+------------------+----------------+---------------+----------------------+------------------------ db-119-001-instance-01 | MASTER_SESSION_ID | eu-west-1 | 2534560273 | [NULL] | [NULL] | [NULL] | [NULL] | [NULL] db-119-001-instance-02 | 4ecff34d-d57c-409c-ba28-278b31d6fc40 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560266 | 6 db-119-001-instance-03 | 3e8a20fc-be86-43d5-95e5-bdf19d27ad6b | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560266 | 6 db-119-001-instance-04 | fc1b0023-e8b4-4361-bede-2a7e926cead6 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560254 | 23 db-119-001-instance-05 | 30319b74-3f08-4e13-9728-e02aa1aa8649 | eu-west-1 | 2534560266 | 2534560273 | 0 | 19669196 | 2534560254 | 23 db-119-001-global-instance-1 | a331ffbb-d982-49ba-8973-527c96329c60 | eu-central-1 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 996 db-119-001-global-instance-1 | e0955367-7082-43c4-b4db-70674064a9da | eu-west-2 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 14 db-119-001-global-instance-1-eu-west-2a | 1248dc12-d3a4-46f5-a9e2-85850491a897 | eu-west-2 | 2534560254 | 2534560266 | 0 | 19669196 | 2534560247 | 0

此示例说明如何检查全局副本滞后(以毫秒为单位)。

=> SELECT CASE WHEN 'MASTER_SESSION_ID' = session_id THEN 'Primary' ELSE 'Secondary' END AS global_role, aws_region, server_id, visibility_lag_in_msec FROM aurora_global_db_instance_status() ORDER BY 1, 2, 3; global_role | aws_region | server_id | visibility_lag_in_msec -------------+--------------+-----------------------------------------+------------------------ Primary | eu-west-1 | db-119-001-instance-01 | [NULL] Secondary | eu-central-1 | db-119-001-global-instance-1 | 13 Secondary | eu-west-1 | db-119-001-instance-02 | 10 Secondary | eu-west-1 | db-119-001-instance-03 | 9 Secondary | eu-west-1 | db-119-001-instance-04 | 2 Secondary | eu-west-1 | db-119-001-instance-05 | 18 Secondary | eu-west-2 | db-119-001-global-instance-1 | 14 Secondary | eu-west-2 | db-119-001-global-instance-1-eu-west-2a | 13

此示例说明如何从全局数据库配置中检查每个 AWS 区域 的最小、最大和平均滞后。

=> SELECT 'Secondary' global_role, aws_region, min(visibility_lag_in_msec) min_lag_in_msec, max(visibility_lag_in_msec) max_lag_in_msec, round(avg(visibility_lag_in_msec),0) avg_lag_in_msec FROM aurora_global_db_instance_status() WHERE aws_region NOT IN (SELECT aws_region FROM aurora_global_db_instance_status() WHERE session_id='MASTER_SESSION_ID') GROUP BY aws_region UNION ALL SELECT 'Primary' global_role, aws_region, NULL, NULL, NULL FROM aurora_global_db_instance_status() WHERE session_id='MASTER_SESSION_ID' ORDER BY 1, 5; global_role | aws_region | min_lag_in_msec | max_lag_in_msec | avg_lag_in_msec ------------+--------------+-----------------+-----------------+----------------- Primary | eu-west-1 | [NULL] | [NULL] | [NULL] Secondary | eu-central-1 | 133 | 133 | 133 Secondary | eu-west-2 | 0 | 495 | 248