API 密钥
使用 ClickHouse OpenAPI 需要进行身份验证;有关如何创建 API 密钥,请参阅 [API 密钥]。然后可按如下方式通过 Basic Auth 凭据使用这些密钥:Organization ID
接下来,你需要用到你的 Organization ID。- 在控制台左下角选择你的组织名称。
- 选择 Organization details。
- 点击 Organization ID 右侧的复制图标,将其直接复制到剪贴板。
CRUD
下面来了解 Postgres 服务 的生命周期。创建
首先,使用 create API 创建一个新的实例。请求的 JSON body 需要包含以下属性:name:新 Postgres 服务的名称provider:云提供商的名称:aws(或gcp,处于私有预览阶段)region:在提供商网络中部署该 服务的区域size:VM 规格
查询
使用响应中的id 再次查询该服务:
state;当它变为 running 时,服务器即表示已就绪:
connectionString 属性进行连接,例如通过 psql:
\q 退出 psql。
更新
patch API 支持通过 RFC 7396 JSON Merge Patch 更新 Managed Postgres 服务的部分属性。对于复杂的部署场景,标签可能尤其有用; 只需在请求中单独发送标签即可:删除
使用[删除 API]删除 Postgres 服务。监控
两个兼容 Prometheus 的端点可提供 ClickHouse Managed Postgres 服务的 CPU、内存、I/O、连接 和事务指标:其中一个返回组织内所有服务的指标,另一个返回单个 服务的指标。有关设置,请参阅 [Prometheus 端点] 页面;完整指标列表请参阅 [指标参考]。Query insights
云控制台中 Query Insights 选项卡背后的按语句粒度的遥测数据也可通过编程方式获取。两个端点公开了某个服务上最慢的 查询模式:一个列出按影响排序的所有模式,另一个返回单个模式及其最近的执行记录。列出慢查询模式
[慢查询模式 API] 返回指定时间窗口内观测到的最慢查询 模式的聚合指标。必须提供该时间窗口——请传递from_date 和 to_date 作为 RFC 3339 时间戳:
total_duration
降序排序。可使用 sort_by 按不同的计数指标排序 (例如
p99_duration、call_count 或 total_wal_bytes) ,并使用
sort_order 反转排序方向。还可使用 db_name、db_user、
db_operation 和 app 过滤器缩小结果范围,并通过 limit 和
offset 分页查看。
每个结果都是一个归一化模式,其中字面量已被去除,
耗时以微秒为单位表示:
queryId 是归一化后语句的有符号 64 位哈希值,因此通常为负数。将它原样传回——包括开头的 -——即可获取单个查询模式。
获取慢查询模式
将列表响应中的queryId 传递给[慢查询模式 API],即可获取该
模式的聚合指标,以及其最近的各次单独执行记录。
标识该模式所需的 db_name、db_user 和 db_operation
是必填项:
aggregate 字段下包含与列表端点相同的聚合数据,
另有一个 recentExecutions 数组。每次执行都包含完整的
单次执行计数器——共享和临时块 I/O、CPU 用户态和系统态
时间、并行工作线程、JIT 以及 WAL——也就是
控制台中[详情弹出面板]分项展示的那些相同计数器:
服务器日志
云控制台中日志查看器所显示的 PostgreSQL 服务器日志也可通过 编程方式获取。[日志 API] 会返回某项服务在指定时间窗口内的各条日志记录。 与 Query Insights 一样,必须指定时间窗口,因此请将from_date 和
to_date 作为 RFC 3339 时间戳传递。该时间范围不得超过 30 天,且
to_date 必须晚于 from_date:
sort_order (asc 或
desc) 切换排序方向。使用 severity 筛选单个严重级别 (例如 ERROR、
WARNING 或 LOG) ,使用 body_contains 匹配日志正文中区分大小写的
子串,并使用 limit 和 offset 对结果分页。
每个条目都包含其 timestamp、severity 和原始 body。正文始终是
字符串:结构化日志行以 JSON 编码形式返回,普通行则按原样返回:
limit 和 offset 进行分页,不返回总数;
不断增加 offset,直到某页返回的条目数少于 limit。