创建数据库
托管的 Postgres (reports/databases/README.md):一个云盘(存放数据;默认为严格级别,除非 storage.durability 设为 standard:提交在对象存储收到数据后才返回),以及一个由单个有状态服务构成的应用,其实例挂载该云盘,使用平台对应主版本的 Postgres 镜像 (ghcr.io/glacai/postgres-<version>),以数据库的名称接入项目网络。镜像在空云盘上创建集群:角色组 glac_superuser(拥有 Neon 的 neon_superuser 的权限;没有超级用户)、其中的所有者 <database_name>_owner,以及数据库;所有者的密码在 PostgreSQL 就绪后以 SCRAM 校验值的形式设置,只出现在这个响应中,不会保存在任何地方。调用会等待第一次启动(最多 150 秒),然后返回数据库,状态为 ready(实例的第一次启动已完成:PostgreSQL 接受连接,数据库已存在,所有者已设置密码),或 creating(仍在进行:对它发起 GET 查看)。按名称幂等:如果创建请求指定的是项目中已有的数据库,且所请求的正是它现在的样子,就返回该数据库 (200),但不含密码。应用和云盘会出现在 /v1/apps 和 /v1/drives 的列表中,带有 managed_by,只能通过本 API 修改。云盘或应用的创建被拒绝(套餐的限制、应用已有的名称),就算作本次创建被拒绝,并撤销已创建的部分。所需权限范围:write。带 tiering.enabled 时(需要付费套餐,且对象网关可用),其分支会加载 pg_lake 和 glac_tiering,并运行 pgduck_server;分区存放的位置以及只能访问该前缀的密钥,会交给每台运行中的机器,从不写入其启动设置。
https://api.glac.ai/v1/databases授权
请求体JSON必填
- tieringoptionalobject | null
分层存储(DB18,Tiger 的方式):按范围分区的表中,由策略 (
glac.add_tiering_policy) 或调用 (glac.tier_partition) 移走的分区,会变成项目平台存储桶中的 Parquet 文件,仍属于同一张表,只读,在开启glac.enable_tiered_reads时读取。仅限付费套餐(免费版:403paid_plan_required),且需要对象网关可用(否则返回 400objects_not_served)。按迁移之前的大小计费,每 GB·月 $0.02 (tiered_bytes);读取它们既不算请求,也不算出站流量。 - history_secondsoptionalinteger | null
根分支最多能按时间恢复到多久以前,或从多久以前创建分支,单位为秒 (slice DB8):默认一天,除非创建时另有指定 (
history_seconds);付费套餐上为 0(不保留)到 30 天,免费版为一天(固定,旧数据最多 1 GB:超出时最旧的版本会被删除)。最近一天由其根分支云盘自己的版本窗口提供,每个有写入的 30 秒一个版本(POST /v1/databases/{id}/branches/{branch}/restore,带上at);更早的、精确到秒的恢复则由其 WAL 归档提供(slice DB5:exact)。不计费:数据库最近一天的历史是免费的。maximum: 2592000 · minimum: 0
Returns
200
名称所指的数据库,与创建请求所要求的一致:不含密码。
- history_secondsintegerrequired
根分支最多能按时间恢复到多久以前,或从多久以前创建分支 (slice DB8):默认一天,除非创建时另有指定 (
history_seconds);付费套餐上为 0(不保留)到 30 天,免费版为一天(固定,旧数据最多 1 GB:超出时最旧的版本会被删除)。最近一天由其根分支云盘自己的版本窗口提供,每个有写入的 30 秒一个版本(POST /v1/databases/{id}/branches/{branch}/restore,带上at);更早的、精确到秒的恢复则由其 WAL 归档提供(slice DB5:exact)。不计费:数据库最近一天的历史是免费的。maximum: 2592000 · minimum: 0
201
数据库,状态为 ready(或 creating,第一次启动正在进行),附带所有者的密码以及包含该密码的私有连接字符串。
- history_secondsintegerrequired
根分支最多能按时间恢复到多久以前,或从多久以前创建分支 (slice DB8):默认一天,除非创建时另有指定 (
history_seconds);付费套餐上为 0(不保留)到 30 天,免费版为一天(固定,旧数据最多 1 GB:超出时最旧的版本会被删除)。最近一天由其根分支云盘自己的版本窗口提供,每个有写入的 30 秒一个版本(POST /v1/databases/{id}/branches/{branch}/restore,带上at);更早的、精确到秒的恢复则由其 WAL 归档提供(slice DB5:exact)。不计费:数据库最近一天的历史是免费的。maximum: 2592000 · minimum: 0