从 Cloud Shell 连接到 Cloud SQL for PostgreSQL
本页面介绍如何创建和连接到 PostgreSQL 实例,并使用 Google Cloud Console 和客户端执行基本的 SQL 操作。如果您及时完成本快速入门中的步骤(包括清理),那么在此期间所创建资源的费用通常不会超过 1 美元。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
启用必要的 Google Cloud API。
控制台
在 Google Cloud 控制台中,转到 API 页面。
启用 Cloud SQL Admin API。gcloud
点击以下按钮打开 Cloud Shell,以通过命令行直接在浏览器中访问 Google Cloud 资源。Cloud Shell 可用于运行本快速入门中介绍的
gcloud
命令。按照以下方式使用 Cloud Shell 运行
gcloud services enable
命令,以启用本快速入门所需的 API。gcloud services enable sqladmin.googleapis.com
此命令会启用以下 API:
- Cloud SQL Admin API
创建 Cloud SQL 实例
在本快速入门中,您将使用 Google Cloud 控制台。如需使用 gcloud CLI、cURL 或 PowerShell,请参阅创建实例。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 PostgreSQL。
- 在实例 ID 部分输入
myinstance
。 - 为
postgres
用户输入密码。 点击创建。
您会返回到实例列表。您可以立即点击新实例以查看详细信息,但该实例只能在初始化并启动之后才可用于其他操作。
:在此示例中,将使用默认设置(包括公共 IP 地址)创建实例。
连接到您的实例
在本快速入门中,我们将在 Cloud Shell 中使用 psql 客户端来连接到您的实例。
- 可选:如果您运行的是 PostgreSQL 的本地实例,请先停止该实例,然后再连接到 Cloud SQL 实例。否则,您可能会遇到
address already in use
之类的错误。 在 Google Cloud 控制台中,点击右上角的 Cloud Shell 图标 ()。
Cloud Shell 完成初始化后,将显示如下消息:
Welcome to Cloud Shell! Type "help" to get started. Your Cloud Platform project in this session is set to sample-project. Use "gcloud config set project [PROJECT_ID]" to change to a different project. username@sample-project:~ (sample-project)$
在 Cloud Shell 提示符下,连接到您的 Cloud SQL 实例。使用如下所示的
gcloud sql connect
命令。如果实例名称不同,请替换实例名称。gcloud sql connect myinstance --user=postgres
- 点击消息框中的授权,以授权 Cloud Shell 进行 API 调用。
系统会显示一条消息,说明您的 IP 已列入传入连接的许可名单,然后提示您输入密码。
输入您的 postgres 密码。
系统会显示
psql
提示符。
创建数据库并上传数据
- 在 Cloud SQL 实例上创建 SQL 数据库:
CREATE DATABASE guestbook;
- 输入以下命令并指定密码,以连接到数据库。
\connect guestbook;
- 将示例数据插入数据库:
CREATE TABLE entries (guestName VARCHAR(255), content VARCHAR(255), entryID SERIAL PRIMARY KEY); INSERT INTO entries (guestName, content) values ('first guest', 'I got here!'); INSERT INTO entries (guestName, content) values ('second guest', 'Me too!');
- 检索数据:
生成的查询结果是:SELECT * FROM entries;
guestname | content | entryid --------------+-------------+--------- first guest | I got here! | 1 second guest | Me too! | 2 (2 rows) postgres=>
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
myinstance
实例以打开实例详情页面。 - 在页面顶部的图标栏中,点击删除。
- 在删除实例窗口中,输入实例的名称,然后点击删除。
可选的清理步骤
如果您没有使用在本快速入门中启用的 API,则可以将其停用。
- 在本快速入门中启用的 API:
- Cloud SQL Admin API
在 Google Cloud 控制台中,转到 API 页面。
选择 Cloud SQL Admin API,然后点击停用 API 按钮。
后续步骤
了解如何创建 Cloud SQL 实例。
了解如何为 Cloud SQL 实例创建 PostgreSQL 用户和数据库。
查看 Cloud SQL 价格信息。
在本快速入门中,您将使用 Cloud Shell 连接到实例。 了解 Cloud SQL 中的所有连接选项。如何连接取决于您的网络配置,例如您的 Cloud SQL 实例具有公共还是专用 IP 地址。了解如何使用公共 IP 和专用 IP 地址配置 Cloud SQL 实例。
了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: