logo
icon

PostgreSQL

信頼性と豊富な機能、SQL 準拠で評価される、強力なオープンソースのオブジェクトリレーショナルデータベースです。

template cover
展開済み8586
発行者zeaburZeabur
作成日2024-06-18
サービス
service icon
タグ
Database

PostgreSQL のデプロイ

PostgreSQL(Postgres とも呼ばれます)は、強力なオープンソースのオブジェクトリレーショナルデータベースです。高い信頼性、堅牢な機能セット、SQL 標準への準拠で広く支持されています。複雑なクエリ、ACID 準拠、厳密なデータ整合性が求められるアプリケーションに最適です。

Zeabur なら、リレーショナルデータベースの運用がとても簡単です。複雑な設定ファイル、ストレージボリューム、サーバーメンテナンスに悩むことなく、数秒で本番向けの PostgreSQL インスタンスを起動できます。

このチュートリアルで学べること

このチュートリアルでは、次の内容を案内します:

  1. Zeabur Marketplace から PostgreSQL サービスをデプロイする
  2. TablePluspgAdminpsql などの外部ツールから接続する
  3. デプロイ済みのバックエンドアプリを PostgreSQL に接続する

フェーズ 1: データベースのデプロイ

ステップ 1: PostgreSQL サービスを作成

Zeabur は「ワンクリックデプロイ」を提供しているため、複雑な設定を手動で行う必要はほとんどありません。

オプション 1: プロジェクトページから PostgreSQL インスタンスを作成

  1. Zeabur Dashboard にログインします。
  2. "New Project" をクリックします。
  3. "Template"(Marketplace)を選択します。
  4. PostgreSQL を検索します。
  5. 公式の PostgreSQL イメージを選択します。すぐにデプロイが開始されます。

オプション 2: テンプレートページから PostgreSQL インスタンスを作成

  1. Zeabur Dashboard にログインします。
  2. FeaturesTemplate を選択します。
  3. PostgreSQL を選ぶか検索します。
  4. PostgreSQL(通常は公式イメージ)を選び、deploy をクリックするとデプロイが開始されます。

ステップ 2: 接続情報を確認

  1. サービスの Instruction タブを開きます。
  2. "Connection" セクションを探します。次の 2 種類の情報が表示されます:
    • Public (External): VS Code / ローカルアプリ向け
    • Private (Internal): デプロイ済みアプリ向け
  3. Public セクションから次の項目を控えます:
    • Host:(例:postgres.zeabur.app
    • Port:(通常 5432 またはランダムなポート)
    • Username:(デフォルトは root または postgres が一般的)
    • Password:(「目」アイコンで表示)
    • Database:(デフォルトは postgres

フェーズ 2: データベースに接続

事前準備: Public の接続情報を用意

ツールを開く前に、Zeabur Dashboard で接続情報を確認しておきます。

  1. Zeabur 上の PostgreSQL サービスを開きます。
  2. Instruction タブをクリックします。
  3. "Public"(External)セクションに次が表示されます:
    • Connection String
    • PostgreSQL Connect Command
    • PostgreSQL username
    • PostgresSQL password
    • PostgresSQL database
    • PostgreSQL host
    • PostgreSQL port

オプション 1: VS Code(SQLTools)で接続

おすすめ: コードと DB を同じ画面で扱いたい開発者向け。

ステップ 1: 拡張機能をインストール

  1. VS Code(または互換のエディタ)を開きます。
  2. 左サイドバーの ExtensionsCtrl+Shift+X / Cmd+Shift+X)を開きます。
  3. SQLTools を検索してインストールします。
  4. SQLTools PostgreSQL/Cockroach Driver を検索してインストールします。

ステップ 2: 接続を作成

  1. 左サイドバーの SQLTools アイコン(DB の цилиндr アイコン)をクリックします。
  2. “Connections” にカーソルを合わせ、"Add New Connection"+ 付きアイコン)をクリックします。
  3. PostgreSQL を選択します。

ステップ 3: 設定を入力 Zeabur の情報でフォームを埋めます:

  • Connection Name: Zeabur DB(任意)
  • Connect using: Server and Port
  • Server Address (Host): Postgresql Host を貼り付け
  • Port: Postgresql Port を貼り付け
  • Database: Postgresql Database(通常 postgres
  • Username: Postgresql User
  • Password: Postgresql Password
  • SSL: 既定のまま(失敗する場合は "Require")

ステップ 4: テストして接続

  1. "Test Connection" をクリックし、成功メッセージを確認します。
  2. "Save Connection" をクリックします。
  3. サイドバーで接続を右クリックし "Connect" を選びます。
  4. ツリーで Tables / Views / Functions を確認できます。

オプション 2: pgAdmin 4(公式 GUI)で接続

おすすめ: DB 管理者向けの標準 GUI を使って管理したい場合。

ステップ 1: pgAdmin をインストール

  1. pgAdmin 4 を OS に合わせてダウンロードしてインストールします。
  2. pgAdmin 4 を起動します。(ブラウザで開くのは正常です)

ステップ 2: サーバーを登録

  1. 左のツリーで Servers を右クリックします。
  2. Register > Server... を選択します。

ステップ 3: 接続情報を入力 ポップアップで次のタブを入力します:

  • タブ 1: General
    • Name: 任意(例:Zeabur App DB
  • タブ 2: Connection
    • Host name/address: Postgresql Host
    • Port: Postgresql Port
    • Maintenance database: Postgresql Database(通常 postgres
    • Username: Postgresql User(通常 root
    • Password: Postgresql Password
    • 任意: “Save Password” を有効化
  • タブ 3: Parameters(任意)
    • SSL エラーの場合、SSL タブで “SSL mode” を Require または Prefer にします。

ステップ 4: 接続

  1. 青い Save ボタンをクリックします。
  2. 左のツリーに DB が追加されます。
  3. > で展開し、Databases > postgres > Schemas > public > Tables でデータを確認します。

フェーズ 3: アプリ(サービス間)接続

アプリを Zeabur にデプロイすると、DB と通信する必要があります。セキュリティと速度のため、Private Networking を推奨します。

方法 A: 簡単(環境変数)

Zeabur は同一プロジェクト内のサービス間で接続文字列を自動的に公開できます。アプリ側の設定で:

  1. Variables タブを開きます。

  2. DATABASE_URL(またはコードで使用する名前)を追加します。

  3. 値に Zeabur の参照変数を設定します(内部用の安全な接続文字列が自動で入ります)。

    ${POSTGRES_CONNECTION_STRING}
    
    

方法 B: 手動(個別変数)

接続情報の一部だけが必要な場合(または DB が複数ある場合)は次を使います:

  • Host: ${POSTGRES_HOST}(通常 .zeabur.internal で終わる内部ホスト名)
  • Port: ${POSTGRES_PORT}
  • User: ${POSTGRES_USERNAME}
  • Password: ${POSTGRES_PASSWORD}

注意: PostgreSQL インスタンスが複数ある場合、参照変数が別インスタンスを指すことがあります。その場合は Networking タブから Internal の Hostname/Port を手動で指定してください。


フェーズ 4: 運用・バックアップ

設定(上級)

メモリやログなどを調整したい場合:

  1. Zeabur の Config Editor を開きます。
  2. /etc/postgresql/postgresql.conf を編集します。
  3. 注意: 重要な設定は事前に調整済みのため、多くの場合は不要です。

バックアップの復元

Zeabur は自動バックアップを行います。復元するには:

  1. ダウンロード: バックアップストレージからバックアップをダウンロードして展開します。data.sql が得られます。

  2. 準備: ローカルに PostgreSQL クライアントツールがインストールされていることを確認します。

  3. 実行: Instructions の "PostgreSQL Connect Command" を探し、ターミナルで実行します。例: psql -h postgres.zeabur.app -p 5432 -U root postgres < data.sql

    <Your PostgreSQL Connect Command> < data.sql
    
    

警告: 復元すると既存データとユーザーパスワードが置き換わります。現在のパスワードを維持したい場合は、実行前に data.sql から CREATE ROLE と ALTER ROLE の文を削除してください。