PostgreSQL 14 新特性:每位开发者都应该知道的变化
PostgreSQL 14 带来 JSON 下标访问、非连续多范围数据类型、查询流水线等新能力,开发者可用下标直接遍历 JSON 键值对取值,并用单条 insert 语句写入多个不连续数据范围。
PostgreSQL 14 带来 JSON 下标访问、非连续多范围数据类型、查询流水线等新能力,开发者可用下标直接遍历 JSON 键值对取值,并用单条 insert 语句写入多个不连续数据范围。
PostgREST 9 发布,新增在嵌入表时做内连接的能力,用 !inner 关键字可基于嵌入表(如 users)的过滤条件筛选顶层表(如 messages)的行,适用于所有 Supabase 客户端库和各类操作符。
推荐理由:PostgREST 9 支持内连接过滤和单参数 POST,自建自定义 auth 函数的要在升级前改 current_setting 写法。
Supabase 将于 2021 年 11 月 29 日至 12 月 3 日举办 Launch Week III:假日特别版,连续五天每天发布一项新产品或功能。首日为 Community Day,随后依次发布 Supabase Studio 本地开发与自托管版本、Realtime Row Level Security,并宣布收购 Logflare,最后一天一次性公布五项更新。
Supabase 发布 2021 年 10 月 Beta 更新,新增 Slack、Spotify 和 MessageBird 电话登录三种 Auth 提供商,并支持在 Dashboard 中切换浏览任意数据库 schema、通过 API 访问已授权的 schema。
Supabase 发布 2021 年 9 月 Beta 更新,Dashboard 现支持自定义列类型、唯一约束和批量编辑列,并更新了网格以支持跨多个 schema 的关系。JavaScript 库新增 AbortController 支持,可中止长时间运行的查询。Auth 文档拆分为认证与授权两部分,Discord 社区已超 3500 名开发者,Twitter 粉丝达 16.5k。
Supabase 完成 3000 万美元 A 轮融资,并发布 8 月 Beta 更新。新增首尔区域后可选区域达 12 个,推出面向 Postgres 订阅的行级安全方案 WALRUS(尚未上生产,以 RFC 形式公开征求意见),Auth v2 的短信登录支持自定义短信内容。GitHub 星标数达到 18,000。
Supabase 在 7 月举办第二次 Launch Week,上线基于短信的移动端登录(Twilio 集成),并新增 Twitch 登录及通过 API 生成邀请、恢复、确认和 magic link 的能力。
Supabase 宣布 Database Webhooks(原 Function Hooks)以 Alpha 形式向所有新项目开放,可监听表的 INSERT、UPDATE、DELETE 事件并异步触发外部 HTTP 函数,同时 Dashboard 新增原生 PostgreSQL Functions 编辑器和触发器管理界面。
推荐理由:Supabase 把 Database Webhooks 和 Postgres Functions 编辑器放进所有新项目的 Alpha,想接数据库变更触发外部 HTTP 的可以现在试,但别用在关键路径上。
Supabase 在 Dashboard 新增 Reports 板块,可查看一个月内的 Database、Auth、Storage API 请求量以及 CPU、内存两项实例健康指标,每个项目支持一份可配置报告。
Supabase Auth 发布 v2,新增手机号登录能力,用户可用短信一次性密码(OTP)登录,也可用手机号加密码组合登录,该功能对所有新建和已有的 Supabase 项目开放。
推荐理由:Supabase Auth 上线手机号 OTP 登录,用 Twilio 即可接入,做移动端登录的可以省掉自建短信验证流程。
Supabase Storage 从 Alpha 进入 Beta,新增音视频流式传输支持,客户端可通过 Content-Range 请求头按需下载视频片段。公开 Bucket 功能上线,Bucket 默认私有、设为公开时 Dashboard 会给出醒目警告,公开 Bucket 内对象无需 Authorization 令牌即可通过 URL 访问。
Supabase 在 Community Day 宣布,从今天起所有新建 Supabase 项目都将运行 PostgreSQL 13.3,同时发布 PostgREST 8.0 稳定版,其 GET 请求吞吐量据基准测试最高提升 50%,并实现 schema cache 零停机重载。社区还推出 Flutter 和 Dart 客户端库 Beta,Supabase 团队正式加入社区运营的 Discord。
Supabase 新项目现已运行在 Postgres 13.3 上,其 Postgres 仓库版本从 0.15.0 跳至 13.3.0,此后主次版本号将跟随 PostgreSQL。新版本带来原生 UUID 生成、并行索引清理、增量排序等改进,底层系统从 Ubuntu 18.04 升级到 20.04,并新增 pgRouting、wal2json 扩展及 fail2ban 防暴力破解保护。
Supabase 公布 Launch Week II: The SQL 日程,7 月 26 日至 30 日每天发布一项更新。
Supabase 通过自研 SupaUtils 扩展,用 PostgreSQL 的 ProcessUtility_hook 拦截 ALTER ROLE、DROP ROLE 等语句,在授予客户 CREATEROLE 权限的同时保护自家角色不被删除或修改。
Supabase 在 3 月上线 Storage,可存图片、音频和视频,底层基于 S3 和用 Fastify 与 TypeScript 写的开源存储 API;同时开源内部 UI 组件库,并推出可在终端用 supabase start 本地运行的 Supabase CLI。
Supabase 宣布即日起所有新项目都内置 PgBouncer 连接池,控制台 Database 区域可查看连接信息并修改 Pool Mode。官方推荐 Serverless 函数使用 Transaction 模式,该模式下连接仅在事务期间占用,但 prepared statements 等会话级功能不可用;Pool Size 目前固定为 15,暂不向老项目开放。
推荐理由:Supabase 新项目默认带上 PgBouncer 连接池,用 Serverless 直连 Postgres 的可以少踩连接被打满的坑。
Supabase 正在开发 Workflows,一个深度集成 Postgres 的开源编排引擎,用 Elixir 构建,采用 Amazon States Language 定义流程,可协调 AWS、GCP、Azure、OpenFaas 及 Postgres 上已有的函数。
Supabase 在 Launch Week 第 3 天发布 CLI,开发者可用 Docker Compose 在本地运行与生产环境完全一致的 Supabase 服务,并通过 supabase init、supabase start 启动本地后端。
推荐理由:Supabase 发布 CLI,可在本地用 Docker Compose 跑完整后端,并新增 supabase eject 导出自托管所需文件。
Supabase 发布 Storage,用户注册后除 Postgres 数据库、实时订阅、用户管理和自动生成 API 外,还直接获得一个可扩展的对象存储,不必再单独注册存储服务。
推荐理由:Supabase 把对象存储并入现有项目,用 Postgres 行级安全写访问策略,省掉再接一个存储服务。
Supabase 从 3 月 29 日起举行为期一周的 Launch Week,首日公布定价方案,保留免费档位,并把用量计费集中在存储等更可预测的项目上,不对 API 请求计费,免费档位每天可发起数百万次请求,未来会在最高档位引入用量上限,且采用软性档位避免用户被意外升级。
推荐理由:Supabase 公布免费档位与按存储计费的定价思路,并在一周内连发 Storage、CLI、UI 库等多项能力,自托管用户可据此评估迁移与成本。
Supabase 发布教程,介绍如何在浏览器 IDE Replit 中通过 supabase-js 连接其托管的关系型数据库。用户新建 Node.js repl 后导入 createClient 方法,填入项目 URL 和 anon key 即可查询数据,Supabase 提供免费档位。
Supabase 博客介绍了 Toad,一款为低代码开发者提供简单 API 的链接缩短工具。该工具面向希望快速集成链接缩短能力、又不想编写复杂后端代码的开发者。
Supabase 官方给出一种做法:在 Postgres 里启用 pg_cron 和 pgsql-http 两个扩展,就能按 cron 语法定时调用外部 HTTP 接口,例如每分钟向 webhook 发一次 POST。
推荐理由:用 pg_cron 加 pgsql-http 两个扩展,就能在 Postgres 里定时调外部接口,省掉一台跑 cron 的机器。
Supabase 发布 2021 年 2 月 Beta 更新,为 SQL 编辑器加入表和列建议的自动补全,并支持在 signIn() 和 signUp() 时把用户重定向到站内指定路由。数据库板块新增 Postgres Replication 管理页面,可管理 realtime API 的表和事件;同时上线南非新区域、Docker Compose 本地运行文件,GitHub 星标达到 6000。
Supabase 2021 年 1 月 Beta 更新为客户端库加入 PostgREST 的 exact、planned、estimated 计数功能,并新增 Facebook 和 Azure 两个 Auth 登录方式。数据库可部署到伦敦或悉尼,SQL 结果支持复制为 Markdown,迁移至 Route53 后读取基准测试快了 12%。
Supabase 在历经 10 个月开发后正式进入 Beta,并完成 600 万美元种子轮融资,投资方包括 Y Combinator、Mozilla 和 Coatue。
Supabase 发布 supabase-js 1.0,为 Beta 上线做准备,带来多项开发者体验改进。SQL Editor 新增标签页与全屏模式,Auth 支持 Magic Links 登录,Dashboard 路由性能大幅优化。团队正从 Alpha 迈向 Beta,并已建立 Benchmarks 仓库用于测量所用开源工具的性能。
Supabase 发布 supabase-js 1.0,因存在多项破坏性改动而提升主版本号:signup() 改为 signUp() 且 email/password 以对象传入,logout() 改为 signOut(),login() 改为 signIn(),ova() 与 ovr() 合并为 ov(),返回的 body 字段改为 data。
推荐理由:supabase-js 1.0 有破坏性改动,用旧版的项目要按 release notes 把 body 改 data、signup 改 signUp 再升级。
Supabase 发布 9 月 Alpha 更新,新增 Bitbucket、GitHub、GitLab、Google 的第三方 OAuth 登录,支持像电子表格一样克隆表格,并可在控制台一键启用 Postgres 扩展。
Supabase 公布 Alpha 阶段八月更新,新增在表格视图中直接创建表和列、邀请团队成员加入组织,以及可为新用户开启邮箱确认并支持在 dashboard 编辑邮件模板。
Vercel 发布 Monorepo 指南,介绍 Turborepo 这一面向 JavaScript 和 TypeScript 代码库的高性能构建系统,支持零配置远程缓存和增量构建。
Supabase 发布 Auth,提供用户注册登录、PostgreSQL 行级安全和策略规则等后端鉴权服务,现已免费开放使用。该功能基于 fork 自 Netlify 的 GoTrue 服务器,配合 PostgreSQL 与 PostgREST 实现授权。官方表示下月将加入自定义邮件模板和第三方 OAuth 提供商,并简化策略界面。
推荐理由:Supabase 上线 Auth,用 GoTrue 加 PostgreSQL 行级安全做鉴权,想换掉 Firebase 的可以现在试。
Supabase 在构建 5 个月后发布 Supabase Auth,并配套一个示例和视频教程,演示如何用 PostgreSQL 的 Row Level Security 实现基础认证系统,完整更新将在接下来几天单独发布。
推荐理由:Supabase 上线 Auth,并给新项目开放 pgsql-http、pgjwt 等 Postgres 扩展,自建后端的可以少写一层认证代码。
PostgreSQL 备份分为逻辑备份和物理备份两类,前者通过 pg_dump 或 pg_dumpall 将数据导出为 SQL 文件,适合快速备份、跨大版本迁移(如 Postgres 11 到 12)和备份单个数据库;后者直接复制数据文件,更适合数 GB 级的大型数据库,并配合 WAL 文件实现时间点恢复(PITR)。两种方式各有用途,没有优劣之分。
Supabase 发布 2020 年 6 月 Alpha 更新,推出类 Excel 的关系数据编辑界面,可直接下钻编辑关联数据,并支持自动识别 JSON/JSONB 列进行查看和编辑。用户现在可以自选数据库区域,此前项目默认部署在新加坡;仪表盘还开放每日数据库备份,方便迁移离开 Supabase。
Supabase 发布 2020 年 5 月 Alpha 更新,推出全新 UI、仍不稳定的表格视图,以及实时监听、随 schema 自动更新的即时 RESTful API 和自动文档。Supabase 还宣布已加入 Y Combinator,该批次已开营且完全远程。
Supabase 发布 2020 年 4 月 Alpha 更新,可在 2 分钟内搭建 Postgres,并自动生成 API 和文档。该版本尚未达到生产可用,处于免费 Alpha 阶段,数据库搭建约需 2 分钟,官方建议用完后关闭数据库。
OpenAI 于 2019 年 4 月 27 日举办了首届 OpenAI Robotics Symposium。
OpenAI 发布深度强化学习教育资源 Spinning Up in Deep RL,包含清晰的 RL 代码示例、练习、文档和教程,目标是让任何人都能学会成为深度强化学习的熟练实践者。