Skip Navigation
Show nav
Heroku Dev Center Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
Heroku Dev Center Dev Center
  • 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 in or Sign up
View categories

Categories

  • Heroku のアーキテクチャ
    • コンピューティング (dyno)
      • dyno の管理
      • dyno の概念
      • dyno の動作
      • dyno の参照資料
      • dyno のトラブルシューティング
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
    • buildpack
  • 開発者ツール
    • AI の操作
    • コマンドライン
    • Heroku の VS Code 拡張機能
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション (Heroku Flow)
    • 継続的統合
  • 言語サポート
    • Node.js
      • Node.js アプリのトラブルシューティング
      • Node.js の操作
      • Heroku での Node.js の動作
    • Ruby
      • Rails のサポート
        • Rails の操作
      • Bundler の使用
      • Ruby の操作
      • Heroku での Ruby の動作
      • Ruby アプリのトラブルシューティング
    • Python
      • Python の操作
      • Python でのバックグラウンドジョブ
      • Heroku での Python の動作
      • Django の使用
    • Java
      • Heroku での Java の動作
      • Java の操作
      • Maven の使用
      • Spring Boot の使用
      • Java アプリのトラブルシューティング
    • PHP
      • Heroku での PHP の動作
      • PHP の操作
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • .NET の操作
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Heroku Postgres への移行
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Inference の基礎知識
    • Inference API
    • Heroku Inference のクイックスタートガイド
    • AI モデル
    • ツールの使用
    • AI 連携
    • ベクトルデータベース
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
    • Heroku AppLink
      • Heroku AppLink リファレンス
      • Heroku AppLink の使用
      • Heroku AppLink スターターガイド
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
    • その他の Salesforce 統合
  • データベースとデータ管理
  • Heroku Postgres
  • Heroku Postgres への移行
  • Heroku Postgres への移行の準備

Heroku Postgres への移行の準備

日本語 — Switch to English

Table of Contents [expand]

  • ダウンタイムの許容範囲
  • 前提条件
  • 情報と設定を収集する
  • 次のステップ

最終更新日 2025年03月28日(金)

別のマネージド PostgreSQL プロバイダーから Heroku Postgres​ に移行するプロセスはシンプルです。Heroku Postgres を使用すると、低コストでパフォーマンスの高い、簡単なリソース管理が実現します。この記事では、移行プロセスの前に完了する必要がある前提条件のステップについて説明します。これらのステップを完了したら、以下のクラウドプロバイダーから Heroku Postgres への移行に関するガイドを参照してください。

  • AWS RDS
  • Google Cloud SQL
  • Azure Database for PostgreSQL
  • Linode Managed PostgreSQL
  • UpCloud Managed PostgreSQL
  • Render PostgreSQL
  • DigitalOcean Managed PostgreSQL
  • Vultr Managed PostgreSQL
  • Aiven for PostgreSQL

各ガイドでは、データベースに「ダンプと復元」の移行戦略​を使用します。データベースが 100 GB 未満で、数時間のダウンタイムを許容できる場合は、ほとんどのユースケースにこの戦略が適合します。

ガイドで取り上げるのはリストに記載されているデータベースの移行プロセスのみですが、ダンプと復元の戦略は他のデータベース (オンプレミスのデータベースなど) にも使用できます。

 

あるクラウドプロバイダーから別のクラウドプロバイダーに Postgres を移行する際の大まかな考慮事項については、「Planning Your PostgreSQL Migration​」(PostgreSQL の移行の計画) を参照してください。

ダウンタイムの許容範囲

ダンプと復元のアプローチは、移行時に環境内で一定のダウンタイムを許容できることを前提としています。移行プロセスでは、まずデータベーススキーマとデータ全体をファイルにダンプします。このステップは、データベースのサイズに応じて数分または数時間かかる場合があります。次に、S3 と互換性のあるストレージバケットにファイルをアップロードします。最後に、Heroku Postgres を使用してファイルからデータベースを復元します。

データベースをストレージにダンプし、それを Heroku でファイルから復元するまでの間は、以降元のデータベースに行った更新はキャプチャされず、Heroku データベースに適用されません。移行期間中にデータベースに書き込んだり、システムをオフラインにしたりしないように、システムを読み取り専用モードに設定することが重要です。

余裕をもって、数時間のダウンタイムを計画してください。

データベースが Heroku アプリにアタッチされている場合は、アプリをメンテナンスモード​にします。

前提条件

まず、以下を準備していることを前提としています。

  • リストに記載されているクラウドプロバイダーのいずれかの Postgres のマネージドインスタンス
  • コマンドラインからそのデータベースに接続するための資格情報
  • 各ガイドに記載された、S3 と互換性のあるストレージバケットへの書き込みアクセス
  • 100 GB 未満のデータベース
  • Heroku アカウント

情報と設定を収集する

クラウドプロバイダーでの Postgres の設定について、いくつかの情報が必要です。

1. PostgreSQL のバージョン

psql​ コマンドラインユーティリティを使用して PostgreSQL インスタンスに接続します。Postgres のバージョンを確認するには、以下のコマンドを実行します。

$ psql=> SELECT version();
                                version
--------------------------------------------------------------------------
PostgreSQL 15.8 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit


(1 row)

この例では、メジャーバージョン 15 を使用しています。

PostgreSQL インスタンスが実行している Postgres のバージョンが、Heroku Postgres がサポートしている​バージョンよりも古い場合は、まずクラウドプロバイダーのインスタンスでサポートされているバージョンにアップグレードする必要があります。バージョンアップグレードのプロセスと移行のプロセスを分離すると、トラブルシューティングが容易になります。

2. 拡張機能

後で Heroku Postgres の現在のデータベースに同じ拡張機能をインストールする必要があります。インスタンスでインストールした拡張機能を一覧表示するには、以下のコマンドを実行します。

$ psql=> \dx
                    List of installed extensions
  Name   | Version |   Schema   |            Description
---------+---------+------------+------------------------------------
 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
 sslinfo | 1.2     | public     | information about SSL certificates

(2 rows)

Azure データベースインスタンスには、azure​ および pgaadauth​ の拡張機能が含まれます。Heroku Postgres に移行した後に、これらの拡張機能をインストールする必要はありません。

3. その他の設定

クラウドプロバイダーでの Postgres データベースの設定を取得するには、Postgres コマンドを使用して psql​ を実行し、設定をファイルにダンプします。

$ psql postgres://DB_USERNAME:DB_PASSWORD@DB_HOST:DB_PORT/DB_NAME \
    -c "\copy (select * from pg_settings) to '/tmp/settings_postgres.csv' with (format csv, header true);"

このコマンドはデータベースのすべての設定を /tmp/settings_postgres.csv​ に出力します。必ず Postgres URI に Postgres の資格情報と接続情報を入力してください。

4. データベースで使用するアプリケーションとサービス

次に、データベースに接続するアプリケーション、サービス、API、その他のシステムのリストを収集します。クラウドプロバイダーの PostgreSQL から Heroku Postgres に移行する時期が来たら、各システムの接続情報を変更する必要があります。

次のステップ

現在の Postgres のバージョンと設定の詳細を把握できたら、お使いのクラウドプロバイダーの PostgreSQL インスタンス向けのガイドに従って移行プロセスを開始できます。

  • AWS RDS から Heroku Postgres への移行
  • Google Cloud SQL から Heroku Postgres への移行
  • Azure Database for PostgreSQL から Heroku Postgres への移行
  • Linode Managed PostgreSQL から Heroku Postgres への移行
  • UpCloud Managed PostgreSQL から Heroku Postgres への移行
  • Render PostgreSQL から Heroku Postgres への移行
  • DigitalOcean Managed PostgreSQL から Heroku Postgres への移行
  • Vultr Managed PostgreSQL から Heroku Postgres への移行
  • Aiven Managed PostgreSQL から 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
  • © 2026 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