Dành cho người vừa được cấp một dự án. Mọi thông tin riêng (địa chỉ, tài khoản, mật khẩu, khoá) nằm trong thư bạn nhận được khi dự án tạo xong.
| Thành phần | Dùng để làm gì |
|---|---|
Trang quản trị (Studio)https://tenduan.sb.rdcpc1hn.xyz | Tạo bảng, gõ SQL, xem dữ liệu, quản lý tệp và người dùng — giao diện giống hệt supabase.com Đổi mật khẩu tại https://tenduan.sb.rdcpc1hn.xyz/doi-mat-khau — nên đổi ngay lần đầu đăng nhập |
REST API.../rest/v1 | Web của bạn đọc ghi dữ liệu qua thư viện supabase-js |
Storage.../storage/v1 | Lưu ảnh, tệp đính kèm |
Authentication.../auth/v1 | Đăng ký, đăng nhập cho người dùng web của bạn |
Kết nối database trực tiếppostgresql://... | Cho DBeaver, pgAdmin, Prisma, Drizzle, hoặc SQL thuần |
Vào trang quản trị, mở SQL Editor rồi chạy:
create table san_pham (
id bigserial primary key,
ten text not null,
gia numeric(12,2),
tao_luc timestamptz default now()
);
insert into san_pham (ten, gia) values ('Sản phẩm thử', 100000);
Hoặc dùng Table Editor để bấm chuột tạo bảng, không cần viết SQL.
Cài thư viện:
npm install @supabase/supabase-js
Rồi dùng đúng SUPABASE_URL và ANON_KEY trong thư của bạn:
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(
'https://tenduan.sb.rdcpc1hn.xyz', // SUPABASE_URL
'eyJhbGciOiJIUzI1NiIs...' // ANON_KEY
);
// đọc
const { data, error } = await supabase.from('san_pham').select('*');
// thêm
await supabase.from('san_pham').insert({ ten: 'Bàn gỗ', gia: 250000 });
// tải tệp lên
await supabase.storage.from('anh').upload('bia.jpg', file);
ANON_KEY để trong mã chạy ở trình duyệt được. SERVICE_ROLE_KEY thì tuyệt đối không, vì nó bỏ qua mọi luật phân quyền — chỉ dùng ở phía máy chủ.
Mặc định bảng mới ai có ANON_KEY cũng đọc ghi được. Muốn giới hạn, bật RLS rồi viết luật:
alter table san_pham enable row level security; -- ai cũng xem được create policy "cho doc" on san_pham for select using (true); -- chỉ người đã đăng nhập mới thêm được create policy "nguoi dang nhap duoc them" on san_pham for insert to authenticated with check (true);
Dùng chuỗi kết nối trong thư, dán vào DBeaver hoặc pgAdmin. Bắt buộc bật mã hoá:
postgresql://postgres.tenduan:<mật_khẩu>@tenduan.sb.rdcpc1hn.xyz:<cổng>/postgres?sslmode=require
Trong DBeaver: chọn PostgreSQL, điền Host là tenduan.sb.rdcpc1hn.xyz, Port là cổng trong thư, Database postgres, rồi ở tab SSL tích Use SSL.
| Việc | Tình trạng |
|---|---|
| Bảng, SQL, REST API, Storage, Realtime | Dùng được ngay |
| Đăng nhập bằng email có thư xác nhận | Chưa chạy. Phải tự khai báo máy chủ gửi thư (SMTP) của bạn thì Supabase mới gửi được |
| Edge Functions | Không triển khai được, vì cần quyền trên máy chủ |
| Sao lưu dữ liệu | Chưa có tự động. Bạn tự xuất dữ liệu định kỳ, hoặc nhờ quản trị viên |
| Hiệu năng | Máy dùng chung, 2 nhân CPU. Tránh truy vấn quét toàn bảng lớn và vòng lặp gọi API liên tục |
| Dừng dự án | Báo quản trị viên. Khi xoá, máy chủ sao lưu lại trước rồi mới xoá |
Gặp trục trặc hoặc cần thêm dung lượng, liên hệ quản trị viên Trần Đức Toản. Về trang đăng ký