文档中心>云数据库 PostgreSQL>AI 实践>结合 Supabase 快速构建基于云数据库 PostgreSQL 的后端服务

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

最近更新时间:2025-08-21 15:51:11

我的收藏
Supabase 提供基于 PostgreSQL 的全栈开发平台,集成实时数据库、身份认证、自动生成 API、对象存储和边缘函数,具备开箱即用的实时数据同步、细粒度权限控制及 Serverless 扩展能力,支持开发者快速构建 AI 集成的现代化应用,同时保持对 SQL 和开源生态的完全掌控。更详细的 Supabase 功能请参考 官方文档
本文将指引您快速部署 Supabase,并配置连接云数据库 PostgreSQL 作为后端数据库,快速搭建应用。

环境准备

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

拉取 Supabase 代码

# Get the code
git clone --depth 1 https://github.com/supabase/supabase

# Make your new supabase project directory
mkdir supabase-project

# Tree should look like this
# .
# ├── supabase
# └── supabase-project

# Copy the compose files over to your project
cp -rf supabase/docker/* supabase-project

# Copy the fake env vars
cp supabase/docker/.env.example supabase-project/.env

# Switch to your project directory
cd supabase-project

# Pull the latest images
docker compose pull

修改 .env 文件

修改 supabase-project/.env 文件的如下几项,请确保云数据库 PostgreSQL 实例中已创建对应的账号。
POSTGRES_HOST=云数据库 PostgreSQL 实例 vip
POSTGRES_DB=postgres
POSTGRES_USER=supabase_admin
POSTGRES_PORT=5432
POSTGRES_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
成功登录后的界面: