Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • データベースとデータ管理
  • Heroku Postgres
  • Postgres の基礎
  • Heroku Postgres

Heroku Postgres

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2024年04月24日(水)

Table of Contents

  • Heroku Postgres プランについて
  • Heroku Postgres のプロビジョニング
  • ローカルの設定
  • プライマリデータベースの指定
  • アプリケーション間での Heroku Postgres の共有
  • バージョンのサポート
  • パフォーマンス分析
  • CLI の使用
  • Heroku Postgres への接続
  • プラン間の移行
  • データの所在
  • アドオンの削除
  • サポート

Heroku Postgres​ は、Heroku が直接提供するマネージド SQL データベースサービスです。PostgreSQL ドライバーを使用して、Heroku が公式にサポートする​すべての言語を含むどの言語の Heroku Postgres データベースにもアクセスできます。

Heroku Postgres Dashboard

データベースを管理するためのさまざまな Heroku CLI コマンド​に加え、Heroku Postgres には、Web ダッシュボード​、クエリを共有するためのデータクリップ​、およびその他の複数の役立つ機能が用意されています。

Heroku Postgres プランについて

Heroku Postgres は、Essential、Standard、Premium、Private、Shield というサービスの異なる層にまたがる、さまざまなプランを提供しています。各プランが提供する内容の詳細については、「Choosing the Right Heroku Postgres Plan​」(適切な Heroku Postgres プランの選択) を参照してください。

Heroku Postgres プランの価格情報は、Heroku Postgres アドオンページ​で確認できます。

アプリの要件が最終的に、選択した初期プランで提供されたリソースより大きくなりすぎた場合、簡単にデータベースをアップグレード​できます。

Heroku Postgres のプロビジョニング

Heroku Postgres データベースをプロビジョニングする方法についての詳細は、「Heroku Postgres のプロビジョニング​」を参照してください。

ローカルの設定

Heroku では、Postgres をローカルで実行して環境間でのパリティを確保​することをお勧めします。Heroku Postgres をローカル環境で実行するための設定方法についての詳細は、「Heroku Postgres のローカル設定​」を参照してください。

プライマリデータベースの指定

DATABASE_URL​ 環境設定は、アプリのプライマリ Heroku Postgres データベースの URL を指定します。1 つのデータベースを持つアプリの場合は、その URL がこの環境設定に自動的に割り当てられます。

複数の Postgres データベースを持つアプリの場合は、heroku pg:promote​ でプライマリデータベースを設定します。一般的なユースケースには、リーダー/フォロワー高可用性設定​、またはデータベースアップグレードプロセス​の一部が含まれます。

アプリケーション間での Heroku Postgres の共有

heroku addons:attach​ コマンドを使用して、単一の Heroku Postgres データベースを複数のアプリ間で共有できます。

$ heroku addons:attach my-originating-app::DATABASE --app example-app
Attaching postgresql-addon-name to example-app... done
Setting HEROKU_POSTGRESQL_BRONZE vars and restarting example-app... done, v11

アタッチされたデータベースの URL は、名前形式 HEROKU_POSTGRESQL_[COLOR]_URL​ で環境設定に割り当てられます。この例では、環境設定の名前は HEROKU_POSTGRESQL_BRONZE_URL​ です。

共有されるデータベースは、必ずしも、共有されるいずれか特定のアプリのプライマリデータベースではありません。共有されたデータベースをプロモートするには、他のデータベースに使用した同じコマンド​を使用します。

別のアプリとの Heroku Postgres インスタンスの共有を停止するには、heroku addons:detach​ コマンドを使用します。

$ heroku addons:detach HEROKU_POSTGRESQL_BRONZE --app example-app
Detaching HEROKU_POSTGRESQL_BRONZE to postgresql-addon-name from example-app... done
Unsetting HEROKU_POSTGRESQL_BRONZE config vars and restarting example-app... done, v11

バージョンのサポート

PostgreSQL プロジェクトは毎年、新しいメジャーバージョンをリリースします。Heroku Postgres では、そのリリースの直後に各メジャーバージョンがサポートされます。Heroku Postgres のバージョンサポートについての詳細は、「Heroku Postgres Version Support​」(Heroku Postgres のバージョンサポート) を参照してください。

パフォーマンス分析

パフォーマンス分析についての詳細は、「Heroku Postgres のパフォーマンス分析​」を参照してください。

CLI の使用

CLI を使用した Heroku Postgres の管理についての詳細は、「CLI を使用した Heroku Postgres の管理​」を参照してください。

Heroku Postgres への接続

Heroku Postgres への接続についての詳細は、「Heroku Postgres への接続​」を参照してください。

外部リソースから共通ランタイムデータベースに接続するには、「外部リソースから Common Runtime Heroku Postgres データベースに接続する​」を参照してください。

外部リソースから Private または Shield データベースに接続するには、「外部リソースから Private または Shield の Heroku Postgres データベースに接続する​」を参照してください。

プラン間の移行

データベースプラン間の更新および移行​に関するこの詳細なガイドを参照してください。

データの所在

データベースがプロビジョニングされると、そのデータベースに関連付けられたデータは、それが作成されるリージョン内で保管されます。ただし、Heroku Postgres に付随する一部のサービスや、このデータベース群を管理するシステムは、プロビジョニングされたデータベースと同じリージョン内に配置されません。

  • ディザスタリカバリーの Postgres Continuous Protection​ は、データベースが置かれている同じリージョンにベースバックアップおよびログ先行書き込みを保管します。
  • Common Runtime のログは、アプリが内部で実行中の同じリージョンにルーティングされます。たとえば、us​ リージョン内のアプリのログは、us​ インフラストラクチャ経由でルーティングされます。
  • Private Space 内のアプリのログは、そのスペース自体と同じリージョン内に留まります。たとえば、東京スペース内のアプリのログは、東京のインフラストラクチャ経由でルーティングされます。コンプライアンス要件が厳格なアプリを Shield Private Space​ にデプロイできます。ここでは Logplex の代わりに Private Space Logging​ を使用してログがルーティングされます。
  • Heroku Postgres クエリおよびエラーのログ記録は、heroku addons:create heroku-postgres:...​ でデータベースを作成するときに --block-logs​ フラグを使用することによってブロックできます。
  • PG バックアップ​スナップショットは米国で保管されます。別のリージョン内の論理バックアップを取得するには、「Heroku Postgres の論理バックアップ​」を参照してください。
  • データクリップは米国で保管されます。

Heroku が利用しているサブプロセッサーの一覧と Heroku データが保存され、処理されている国の一覧については、「Salesforce Infrastructure & Sub-processors​」 (Salesforce のインフラストラクチャとサブプロセッサー) ドキュメントを参照してください。

ログのブロック

アドオン作成時に、データベースに対して実行されるクエリのログ記録を防止するためにフラグを渡すことができます。このオプションが有効になっている場合は、データベースがプロビジョニングされた後に、それを無効にすることはできません。有効になった後、それを無効にするには、新しいデータベースへの移行が必要になります。

ログ内のクエリをブロックすると、アプリケーションをデバッグしたり、アプリケーションパフォーマンスをチューニングしたりするのに役立つ Heroku の機能が低下します。

$ heroku addons:create heroku-postgresql:standard-0 -a example-app --block-logs

アドオンの削除

Heroku Postgres データベースを削除するには、アドオンを破棄する必要があります。

$ heroku addons:destroy heroku-postgresql

同じ種類のデータベースが 2 つある場合は、その環境設定名を使用してアドオンを削除する必要があります。たとえば、HEROKU_POSTGRESQL_GRAY_URL​ データベースを削除するには、次のコマンドを実行します。

$ heroku addons:destroy HEROKU_POSTGRESQL_GRAY

削除されたデータベースが DATABASE_URL​ で使用されていたのと同じものであった場合は、その DATABASE_URL​ 環境設定がアプリで設定解除されます。

データベースをデプロビジョニングし、復元する場合は、指定された継続的な保護ロールバック期間​内に復元できる可能性があります。この期間を過ぎると、データベースを復元できなくなる可能性が高くなります。サポートが必要な場合は、サポートチケットを開いてください​。

デプロビジョニングする前にデータのバックアップを作成することをお勧めします。PG Backups を​使用すると、データのスナップショットを作成し、バックアップをダウンロードして外部ストレージサービスに保存できます。デプロビジョニングする前にデータをエクスポート​することもできます。

サポート

Heroku Postgres のサポートとランタイムの問題はすべて、いずれかの Heroku サポートチャネル​経由で送信してください。

関連カテゴリー

  • Postgres の基礎
適切な Heroku Postgres プランの選択 Heroku Postgres のプロビジョニング

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices