Supabase
Supabase ist ein Cloud-Service, der insbesondere eine Postgres-Datenbank beinhaltet, aber auch Storage und Serverless Functions.
Laufenlassen auf dem lokalen Rechner
Supabase läuft (fast) genauso wie in der hosted Version auf supabase.com auch auf dem lokalen Rechner.
Es lässt sich z.B. mit npx folgendermaßen starten
npx supabase start
Dann richtet es etliche Docker-Container ein, auch manche die man nicht braucht. Man kann die Container, die man nicht braucht, mit der --exclude
-Option deaktivieren.
Dazu setzt man alle nicht benötigten Container ohne Leerzeichen, aber mit Kommata getrennt hinter die Option:
npx supabase start --exclude "gotrue,realtime,storage-api,imgproxy,kong,inbucket,postgrest,pgadmin-schema-diff,migra,postgres-meta,studio,deno-relay"
In dem Fall läuft dann tatsächlich nur Postgres. Will man doch ein bisschen arbeiten, könnte folgender Befehl passen:
npx supabase start --exclude "gotrue,realtime,storage-api,imgproxy,inbucket,pgadmin-schema-diff"
Mit
npx supabase stop
hält man die lokalen Container an.
Verbindung mit hosted Supabase
npx supabase login npx supabase link
Backup der Postgres-Database
Zum Backup nutzt man das Standard-Postgres-Tool pg_dump.
Siehe
Serverless Functions
Bei Supabase heißen die Serverless Functions "Edge Functions". Es sind Funktionen, die in TypeScript geschrieben werden und in der Nodejs-Alternative Deno laufen.
Daneben sind die normalen Postgres-Funktionen auch möglich. Sie sind aus Performance-Gründen bei Daten-gestützten Aufgaben zu bevorzugen. Siehe dazu
Siehe zu Edge Functions:
- https://deno.com/blog/supabase-functions-on-deno-deploy
- https://blog.logrocket.com/using-edge-functions-supabase-complete-guide/