如何使用 Supabase 作為你的 PostgreSQL 托管

最近我發現你可以將 Supabase 作為你的 PostgreSQL 托管。 Supabase 是一個非常有趣的項目。它不僅僅是一個「數據庫托管」,同時也是一個可以用來進行應用程序開發的平台。它是建立在 PostgreSQL 之上的,並且提供了一個免費的 連接池,可以幫助我們避免在使用 Prisma 時耗盡數據庫連接限制的問題。 他們在免費帳戶中允許最多兩個專案,所以值得一試。 你也可以開展一個新的項目,然後在完成後刪除舊的項目。 Supabase 將自己定位為 Firebase 的替代品,除了數據庫外,還提供了身份驗證、訂閱等功能,你可以稍後再進一步探索。 注意:Supabase 也可以自托管,這樣你的兩個項目限制就會消失,但同時你需要自行管理基礎架構。 設置時,首先在 supabase.com 上使用 GitHub 登錄。 然後創建一個新的項目 然後進入“Settings”→“Database”,滾動到底部,你會找到直接連接到數據庫的連接字符串(點擊 URI) 這就是你需要將其放入 .env 文件中的 DATABASE_URL 變量。 請輸入在創建 Supabase 項目時為該項目設置的密碼。 如果你現在使用 Prisma,你可以運行 npx prisma migrate dev 從 Prisma schema 創建表。 這樣就可以連接到數據庫了,但由於 Supabase 提供了連接池,可以幫助我們免於耗盡對數據庫的連接。為什麼不使用它呢? 如果你使用 Prisma:在使用 npx prisma migrate dev 時連接池無法正常工作,對於該命令,你必須使用上面所示的直接數據庫連接字符串。所以請記住在需要時更換 DATABASE_URL 的值。 下面是連接池連接字符串: 將它複製到你的 .env 文件中,並在末尾添加 ?pgbouncer=true 如此處所述。