本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理表
重要
终止支持通知:现有客户可以在2025年7月31日终止支持QLDB之前使用亚马逊。有关更多详细信息,请参阅将亚马逊QLDB账本迁移到亚马逊 Aurora Postgr SQL
本节介绍如何在 Amazon 中使用DROP TABLE
和UNDROP TABLE
语句管理表QLDB。它还描述了如何在创建表时对其标记。您可以创建的活动表数量和表总数的限额在Amazon 中的配额和限制 QLDB中定义。
创建时对表格进行标记
注意
只有 STANDARD
权限模式分类账支持在创建时对表格进行标记。
您可以标记您的资源。要管理现有表的标签,请使用 AWS Management Console 或API操作TagResource
UntagResource
、和ListTagsForResource
。有关更多信息,请参阅 为 Amazon QLDB 资源添加标签。
您还可以在创建表时使用QLDB控制台或通过在 P CREATE TABLE
artiQL 语句中指定表标签来定义表标签。下面的示例创建了一个名为 Vehicle
的表,带有标记 environment=production
。
CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)
通过在创建资源时对其进行标记,无需在创建资源后运行自定义标记脚本。标记表后,您可根据这些标签来控制对表的访问。例如:您只能向具有特定标签的表授予完全访问权限。有关JSON策略示例,请参阅基于表格标签对所有操作的完全访问权限。
删除表格
要删除表,请使用基本 DROP TABLE 语句。当你把一张桌子放进去时QLDB,你只是在停用它。
例如,以下语句使VehicleRegistration
表处于停用状态。
DROP TABLE VehicleRegistration
DROP TABLE
语句返回系统分配的表的 ID。状态VehicleRegistration
应该INACTIVE
在系统目录表 information_schema.user _tables 中。
SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
查询非活动表历史记录
除了表名之外,您还可以QLDB历史记录函数使用表 ID 作为第一个输入参数进行查询。必须使用表 ID 查询非活动表的历史记录。停用表后,您将无法再使用表名查询历史记录。
首先,通过查询系统目录表查找表 ID。例如,以下查询将返回 VehicleRegistration
表的 tableId
。
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
然后,您可使用此 ID 从查询修订历史记录中运行相同的历史记录查询。以下是从表 ID5PLf9SXwndd63lPaSIa0O6
中查询文档 IDADR2Ll1fGsU4Jr4EqTdnQF
历史记录的示例。表 ID 为字符串文本值,必须括至单引号内。
--replace both the table and document IDs with your values SELECT * FROM history('5PLf9SXwndd63lPaSIa0O6', `2000T`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF'
重新激活表格
在中停用表后QLDB,可以使用UNDROP TABLE语句将其重新激活。
首先,从information_schema.user_tables
中找到表 ID。例如,以下查询将返回 VehicleRegistration
表的 tableId
。状态应为 INACTIVE
。
SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'
然后使用此 ID 重新激活表。以下是取消表 ID5PLf9SXwndd63lPaSIa0O6
的示例。此时,表 ID 是用双引号括起的唯一标识符。
UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"
现在的VehicleRegistration
状态应该是ACTIVE
。
若要了解如何创建、描述和删除索引,请继续 管理索引。