跳至主要內容

連線至 Neon Postgres

本教學課程涵蓋如何從部署在 Deno Deploy 上的應用程式連線至 Neon Postgres 資料庫。

您可以在這裡找到更全面的教學課程,在 Postgres 上建立範例應用程式。

設定 Postgres

本教學將專注於連線到未加密的 Postgres。如果您想使用自訂 CA 憑證加密,請使用此處的說明文件。

首先,我們需要建立一個新的 Postgres 執行個體供我們連線。在本教學中,我們將使用Neon Postgres,因為它們提供免費的受管理 Postgres 執行個體。如果您想在其他地方主機您的資料庫,也可以這麼做。

  1. 請造訪https://neon.tech/,然後按一下註冊,使用電子郵件、Github、Google 或合作夥伴帳戶註冊。註冊後,您會被導向 Neon 控制台建立您的第一個專案。

  2. 輸入專案名稱,選取 Postgres 版本,提供資料庫名稱,然後選取區域。通常,您會想選取最接近您應用程式的區域。完成後,按一下建立專案

  3. 您會看到新專案的連線字串,您可以使用它連線到您的資料庫。儲存連線字串,它看起來像這樣

    postgres://alex:AbC123dEf@ep-cool-darkness-123456.us-east-2.aws.neon.tech/dbname?sslmode=require

    您需要在下一步中使用連線字串。

在 Deno Deploy 中建立專案

接下來,讓我們在 Deno Deploy 中建立一個專案,並設定必要的環境變數

  1. 前往https://dash.deno.com/new(如果您尚未登入,請使用 GitHub 登入),然後按一下部署您自己的程式碼下的建立空專案
  2. 現在按一下專案頁面上提供的設定按鈕。
  3. 導覽至環境變數區段,並新增下列機密。
  • DATABASE_URL - 值應設定為您在最後一個步驟中儲存的連線字串。

postgres_env_variable

撰寫連線至 Postgres 的程式碼

若要讀取/寫入 Postgres,請匯入 Postgres 模組,從環境變數中讀取連線字串,並建立連線池。

import { Pool } from "https://deno.land/x/postgres@v0.17.0/mod.ts";

// Get the connection string from the environment variable "DATABASE_URL"
const databaseUrl = Deno.env.get("DATABASE_URL")!;

// Create a database pool with three connections that are lazily established
const pool = new Pool(databaseUrl, 3, true);

// Connect to the database
const connection = await pool.connect();

try {
// Create the table
await connection.queryObject`
CREATE TABLE IF NOT EXISTS todos (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL
)
`;
} finally {
// Release the connection back into the pool
connection.release();
}

將應用程式部署至 Deno Deploy

完成撰寫應用程式後,您可以在 Deno Deploy 上部署它。

為此,請返回 https://dash.deno.com/projects/<project-name> 中的專案頁面。

您應該會看到幾個部署選項

除非您想要新增建置步驟,否則我們建議您選擇 GitHub 整合。

有關在 Deno Deploy 上部署的不同方式和不同組態選項的更多詳細資訊,請在此閱讀。