本文档介绍如何使用 Gemini(Google Cloud中 AI 赋能的协作工具)帮助您在 AlloyDB for PostgreSQL 中执行以下操作:
了解 Gemini for Google Cloud 如何以及何时使用您的数据。
本文档适用于熟悉 AlloyDB 并对 SQL 和数据分析有一定了解的数据库管理员和数据工程师。如果您是刚开始接触 AlloyDB,请参阅 AlloyDB 概览。
准备工作
可选:如果您想按照本文档中的示例进行操作,请使用以下架构创建
Singers表:CREATE TABLE Singers ( BirthDate TIMESTAMPTZ, SingerId BIGINT PRIMARY KEY, FirstName VARCHAR(1024), LastName VARCHAR(1024), SingerInfo BYTEA );创建
Singers表后,点击 refresh刷新以更新数据库架构。
如要在 AlloyDB 中停用 Gemini 功能,请重复上述步骤,然后取消选择要停用的 Gemini 功能。
所需的角色和权限
如需将 Gemini 与 AlloyDB 搭配使用,您需要拥有以下权限:
alloydb.clusters.getalloydb.databases.listalloydb.instances.executeSqlalloydb.instances.listalloydb.users.listcloudaicompanion.companions.generateCodecloudaicompanion.instances.generateCodeserviceusage.services.get或serviceusage.services.list
您可以通过 roles/alloydb.admin 角色获取此权限。如果您没有此角色,请与组织管理员联系以申请访问权限。 您也可以通过自定义角色或其他预定义角色来获取所需的权限。
此外,请确保您对用于身份验证的数据库具有数据库级权限。
使用自然语言提示生成 SQL 查询
您可以提供 Gemini 自然语言注释(或提示),以生成基于您的架构的查询。例如,您可以提示 Gemini 生成 SQL 来回答以下提示:
- “创建一个表来跟踪客户满意度调查问卷结果。”
- “将一个名为 birthday 的列添加到 Singers 表中。”
- “90 年代出生的歌手有多少?”
如果您的架构发生更改(例如添加新表或新列),则必须在使用 Gemini 之前点击 refresh刷新以更新您的架构。
如需在 AlloyDB 中借助 Gemini 生成 SQL,请按照以下步骤操作:
在 Google Cloud 控制台中,打开 AlloyDB 页面。
从列表中选择一个集群。
在导航菜单中,点击 AlloyDB。
选择数据库和用户,然后输入用户的密码。
点击身份验证。 探索器窗格会显示数据库中的对象列表。
如需查询数据库,请点击 新的 SQL 编辑器标签页。确保已启用 SQL 生成。
如需生成 SQL,请在查询编辑器中输入以
--开头后跟单行注释的注释,然后按 Return 键。例如,如果您输入提示
-- add a row to table singers并按 Return 键,Gemini 会生成如下所示的 SQL:INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');如需使用
Singers表继续此示例,如果您输入提示-- show all singers born in the 70s,Gemini 会生成如下所示的 SQL:SELECT * FROM Singers WHERE Singers.BirthDate BETWEEN '1970-01-01' AND '1979-12-31'查看 SQL 建议,然后执行以下任一操作:
- 如需查看用于接受 Gemini 生成的 SQL 的选项,请将指针悬停在查询上。系统会显示以下选项:
- 接受:如需接受建议的查询,请按
Tab键,然后点击运行。 - Accept word:如需部分接受建议的查询,请按
Control+Right arrow(在 macOS 上,按Command+Right arrow),然后点击运行。
- 接受:如需接受建议的查询,请按
- 如需修改原始 SQL,请按
Tab,修改 SQL,然后点击运行。 - 如需忽略建议,请按
Esc或继续输入。
- 如需查看用于接受 Gemini 生成的 SQL 的选项,请将指针悬停在查询上。系统会显示以下选项:
“帮我编码”工具
如需使用帮我编码工具,请按照以下步骤操作:
在 Google Cloud 控制台中,打开 AlloyDB 页面。
从列表中选择一个集群。
在导航菜单中,点击 AlloyDB。
选择数据库和用户,然后输入用户的密码。
点击身份验证。 探索器窗格会显示数据库中的对象列表。
如需查询数据库,请点击 新建标签页。
点击查询编辑器旁边的 pen_spark 帮我编码。
在帮我编码窗口中,输入提示。例如,执行
add a row to table singers操作,然后点击生成。Gemini 会生成如下所示的 SQL:
INSERT INTO Singers (SingerId, FirstName, LastName, BirthDate) VALUES (1, Alex, 'M.', '1977-10-16');查看生成的 SQL 并执行以下任一操作:
- 如需接受 Gemini 生成的 SQL,请点击插入以将语句插入查询编辑器中。然后,点击运行以执行建议的 SQL。
- 如需让 Gemini 生成新查询,请点击修改。修改提示完成后,点击更新。然后,您可以决定接受新生成的语句或忽略建议。
- 如需忽略建议,请关闭帮我写代码窗口。
在查询编辑器中解释 SQL 语句
您可以输入自然语言查询,请求对 SQL 查询进行解释。这些解释可帮助您了解复杂查询或长查询的语法、底层架构和业务上下文。
在 Google Cloud 控制台中,打开 AlloyDB 页面。
从列表中选择一个集群。
在导航菜单中,点击 AlloyDB。
选择数据库和用户,然后输入用户的密码。
点击身份验证。 探索器窗格会显示数据库中的对象列表。
如需查询数据库,请点击 新建标签页。
在查询编辑器中,粘贴此查询。
突出显示您希望 Gemini 解释的查询,然后点击 pen_spark 解释此查询。
SQL 解释即会显示在 Gemini 聊天窗口中。
使用 Gemini 修正查询中的错误
Gemini 提供了一项扩展功能,可帮助您修正 AlloyDB 查询中的错误,而无需离开查询编辑器。
Gemini 的 AI 赋能功能已集成到查询编辑器内,可提供以下优势:
- 使用查询编辑器逐行比较原始查询与包含建议更改的新查询。
- 突出显示可能导致问题的原始查询的各个部分,并提供更改的自然语言摘要。
- 参考与查询关联的确切错误消息和架构信息,以提供准确、相关的更正。
- 无需依赖第三方通用 LLM,这些 LLM 提供的帮助可能不够细致,还可能会让您的数据面临潜在的安全风险。
- 可针对语法、架构和运行时错误等常见问题提供更快、更高效的问题排查。
所需权限
开始之前,确认您拥有以下权限:
- 所需权限中所述的权限。
- Gemini for Google Cloud API 权限,
cloudaicompanion.googleapis.com/instances.generateCode。
使用 Gemini 修正查询
如需使用 Gemini 的功能来修正查询中的某些错误,请完成以下操作:
在 Google Cloud 控制台中,打开 AlloyDB for PostgreSQL 页面。
从列表中选择一个集群。
在导航菜单中,点击 AlloyDB Studio。
选择数据库和用户,然后输入用户的密码。
点击身份验证。 探索器窗格会显示数据库中的对象列表。
在任务栏中,点击 pen_spark Gemini 以查看 AlloyDB 中的 Gemini 功能。
如需查询数据库,请点击 新建标签页。
在查询编辑器中,输入可能不正确或不完整的查询。
点击运行。
如果查询存在问题,系统会在结果标签页中返回错误。
点击修正。
在查询窗口中,系统会在标签页中打开差异编辑器,逐行比较现有查询与建议的更改。查询编辑器还会提供建议修改的摘要。
查看建议的查询更改,并根据需要进行更新。
如需接受更改并运行新查询,请点击接受并运行。
限制
- 此功能仅在Google Cloud 控制台的 AlloyDB Studio 查询编辑器中提供。
- 遵守当前 Gemini 上下文窗口限制。