云数据库 PostgreSQL 结合 Supabase 快速构建后端服务

Supabase 提供基于 PostgreSQL 的全栈开发平台,集成实时数据库、身份认证、自动生成 API、对象存储和边缘函数,具备开箱即用的实时数据同步、细粒度权限控制及 Serverless 扩展能力,支持开发者快速构建 AI 集成的现代化应用,同时保持对 SQL 和开源生态的完全掌控。更详细的 Supabase 功能请参考 产品文档。

相关产品
云数据库 PostgreSQL 产品页,含版本规格、价格与购买入口。

这篇会指引你快速部署 Supabase,并配置连接云数据库 PostgreSQL 作为后端数据库,快速搭建应用。

一、环境准备

你需要先创建同一 VPC 网络下的 云服务器实例 和 云数据库 PostgreSQL 实例。

二、拉取 Supabase 代码

# Get the codegit clone –depth 1 https://github.com/supabase/supabase# Make your new supabase project directorymkdir supabase-project# Tree should look like this# .# ├── supabase# └── supabase-project# Copy the compose files over to your projectcp -rf supabase/docker/* supabase-project# Copy the fake env varscp supabase/docker/.env.example supabase-project/.env# Switch to your project directorycd supabase-project# Pull the latest imagesdocker compose pull

三、修改 .env 文件

修改 supabase-project/.env 文件的如下几项,请确保云数据库 PostgreSQL 实例中已创建对应的账号。

POSTGRES_HOST=云数据库 PostgreSQL 实例 vipPOSTGRES_DB=postgresPOSTGRES_USER=supabase_adminPOSTGRES_PORT=5432POSTGRES_PASSWORD=云数据库 PostgreSQL 实例账号密码

四、修改 docker-compose.yml 文件

修改 supabase-project/docker-compose.yml 文件,搜索 external Postgres database 关键字,文件中有提示,如果使用外部 PG,将对应部分注释掉:

depends_on: # db: # Disable this if you are using an external Postgres database # condition: service_healthy

五、在云数据库 PostgreSQL 中创建对象

在拉起 supabase 之前,我们需要创建一些对象(user、database、schema),否则会导致 supabase 无法拉起。此处的密码应该与POSTGRES_PASSWORD 配置的密码一致。

CREATE USER supabase_admin pg_tencentdb_superuser password '你的密码';CREATE DATABASE _supabase;create schema _analytics;

六、清除缓存

如果之前未启动过 Supabase,无需执行此步骤。

# Stop docker and remove volumes:docker compose down -v# Remove Postgres data:rm -rf volumes/db/data/

七、启动 Supabase

上述配置完成后,即可启动 Supabase。

docker compose up -d

八、登录 Supabase 界面

访问虚拟机实例外网 IP 对应的如下链接:http://虚拟机实例外网 IP :8000/,Supabase 提供的初始化账号密码为:

·supabase

·this_password_is_insecure_and_should_be_updated

成功登录后的界面:

赞 (0)
上一篇 4天前
下一篇 4天前