数据库 PostgreSQL 组件

最近更新时间:2024-07-22 12:00:01

我的收藏

操作场景

PostgreSQL for Serverless(ServerlessDB)是一款基于 PostgreSQL 数据库实现的按需分配资源的数据库产品,其数据库将根据您的实际请求数来自动分配资源。PostgreSQL for Serverless 仅需创建实例,即可正常使用,您无需关心数据库实例规格,仅需要在数据库处于活动状态期间按照实际用量进行付费,不需要为数据库的闲时进行付费。详情请参见 ServerlessDB 文档。
通过 PostgreSQL ServerlessDB 组件,您可以快速方便地创建、配置和管理腾讯云的 PostgreSQL 实例。ServerlessDB 的特性介绍如下:
按需付费:按照请求的使用量进行收费,没有请求时无需付费。
“0”配置:默认配置将由 Serverless 完成。
极速部署:仅需几秒,创建或更新您的数据库。
便捷协作:通过云端数据库的状态信息和部署日志,方便进行多人协作开发。

操作步骤

安装

已经安装 Serverless Cloud Framework 。详情请参见 安装 Serverless Cloud Framework

配置

创建并进入一个全新目录:
mkdir tencent-postgreSQL && cd tencent-postgreSQL
在新目录创建serverless.yml文件:
Mac 系统
Linux 系统
Windows 系统
touch serverless.yml
touch serverless.yml
echo. > serverless.yml
serverless.yml中进行如下配置:
# serverless.yml
component: postgresql #(必填) 引用 component 的名称,当前用到的是 postgresql 组件
name: serverlessDB # (必填) 该 postgresql 组件创建的实例名称
org: test # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appid
app: serverlessDB # (可选) 该 sql 应用名称
stage: dev # (可选) 用于区分环境信息,默认值是 dev

inputs:
region: ap-shanghai # 可选 ap-shanghai, ap-beijing
zone: ap-shanghai-2 # 可选 ap-shanghai-2, ap-beijing-3
dBInstanceName: serverlessDB
vpcConfig:
vpcId: vpc-xxxxxxx
subnetId: subnet-xxxxxx
extranetAccess: false
PostgreSQL 组件支持 0 配置部署,您可以直接通过配置文件中的默认值进行部署。您依然可以修改更多可选配置来进一步开发该项目。
注意:
当前 PGSQL for Serverless 仅支持北京三区上海二区两个地域的创建和部署,因此在填写 yaml 中的地域可用区时需要注意填写为正确的地域和对应的 VPC 子网信息。

部署

如您的账号未 登录注册 腾讯云,您可以直接通过微信扫描命令行中的二维码进行授权登录和注册。
通过scf命令进行部署,并可以添加--debug参数查看部署过程中的信息:
说明:
serverless-cloud-framework 命令的简写为 scf。
scf deploy

移除

执行以下命令移除部署的服务:
仅删除云函数相关的配置、代码。
关联的其他云资源(如 COS、CLS 等),平台均不会关联删除,您可以前往对应产品控制台删除,避免不必要的计费。
scf remove

账号配置(可选)

本地创建.env文件:
touch .env # 腾讯云的配置信息
.env文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存:
# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123
说明:
如果没有腾讯云账号,请先 注册新账号
如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretId 和 SecretKey。

实践教程

部署 PG Serverless DB 之后,您可以参考 部署支持数据库操作的全栈网站 使用该 DB 实例。

配置详情

完整配置

# serverless.yml
component: postgresql # (必填) 组件名称,此处为 postgresql
name: serverlessDB # (必填) 实例名称
org: test # (可选) 用于记录组织信息,默认值为您的腾讯云账户 appid
app: serverlessDB # (可选) 该应用名称
stage: dev # (可选) 用于区分环境信息,默认值为 dev

inputs:
region: ap-guangzhou # 可选 ap-guangzhou, ap-shanghai, ap-beijing
zone: ap-guangzhou-2 # 可选 ap-guangzhou-2, ap-shanghai-2, ap-beijing-3
dBInstanceName: serverlessDB
projectId: 0
dBVersion: 10.4
dBCharset: UTF8
vpcConfig:
vpcId: vpc-123
subnetId: subnet-123
extranetAccess: false

配置说明

主要参数说明如下:
参数
必填/可选
类型
默认值
描述
region
必填
String
-
数据库的所属地区
zone
必填
String
-
数据库所在地区的区域
dBInstanceName
必填
String
-
数据库实例名称,对于用户必须唯一
dBVersion
可选
string
10.4
PostgreSQL 版本号,目前支持:10.4
dBCharset
可选
String
UTF8
数据库的字符集编码
projectId
可选
Integer
0
项目的 ID
vpcConfig.vpcId
必填
String
-
VPC 的 ID
vpcConfig.subnetId
可选
String
-
Subnet 的 ID
extranetAccess
可选
Boolean
false
是否开启 serverlessDB 实例外网访问
注意:
部署时,若出现 “Unavailable Zone or SOLD OUT” 的错误提示,则代表该区域暂不可用或售罄,请您更换至其他地区,并选择该地区下的区域。