注意:云数据库 PostgreSQL 的 serverless 实例创建能力将下线,详情请参见 产品公告。
注意:Serverless 应用的数据库 PostgreSQL 组件下线计划如下:
注意:请根据业务需求选择合适的数据库组件进行迁移,例如云原生数据库 TDSQL-C 组件、云数据库 MySQL 等,以避免因 PostgreSQL 组件下线对业务造成影响。
一、操作场景
通过 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.ymltouch serverless.ymlecho. > serverless.yml
在serverless.yml中进行如下配置:
# serverless.ymlcomponent: postgresql #(必填) 引用 component 的名称,当前用到的是 postgresql 组件name: serverlessDB # (必填) 该 postgresql 组件创建的实例名称org: test # (可选) 用于记录组织信息,默认值为你的腾讯云账户 appidapp: serverlessDB # (可选) 该 sql 应用名称stage: dev # (可选) 用于区分环境信息,默认值是 devinputs: 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 信息并保存:
# .envTENCENT_SECRET_ID=123TENCENT_SECRET_KEY=123
注意:说明:
七、实践教程
部署 PG Serverless DB 之后,你可以使用该 DB 实例。
八、完整配置
# serverless.ymlcomponent: postgresql # (必填) 组件名称,此处为 postgresqlname: serverlessDB # (必填) 实例名称org: test # (可选) 用于记录组织信息,默认值为你的腾讯云账户 appidapp: serverlessDB # (可选) 该应用名称stage: dev # (可选) 用于区分环境信息,默认值为 devinputs: 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” 的错误提示,则代表该区域暂不可用或售罄,请你更换至其他地区,并选择该地区下的区域。