Exporters From Japan

Teams chat, instant message

 
Wholesale exporters from Japan   Company Established 1983
  • HOME
  • ABOUT
    • RESULTS
    • differences
    • BENEFITS
    • HISTORY
    • TEAM
    • LOCATION
    • FACILITIES
    • BANKING
    • MEMBERSHIPS
    • APPROVALS
    • LICENCES
    • SUPPLIERS
    • SPONSORSHIPS
    • MEDIA
    • PRIVACY
  • AUCTIONS
    • VEHICLE AUCTIONS
    • YAHOO! AUCTION
    • GOVERNMENT AUCTIONS
    • AUCTION MEMBERSHIPS
    • BID TRACKER
    • COST ESTIMATOR
    • COST VERIFICATION
  • SHIPPING
    • SHIPPING SERVICES
    • SHIPPING ESTIMATOR
    • SHIPPING SCHEDULE
    • SHIPMENT TRACKING
    • SHIP LOCATORS
  • FEES
    • TS REWARDS
  • TOOLS
    • CURRENCY CONVERTER
    • AUCTION TRANSPORT
    • VIN DECODERS
    • YEAR CONVERTER
  • guides
    • SELECT EXPORTER
    • IMPORT VEHICLE
    • IMPORT PARTS
    • HALF CUTS
    • MAXIMISE PROFITS
  • FAQ
    • general
    • vehicles
    • vehicle auctions
    • YAHOO! auction
    • GOVERNMENT AUCTIONS
    • parts
    • shipping
    • trading account
    • how to import
  • CONTACT
    • CONNECT
  • VEHICLES
    • GOONET
    • INSPECTIONS
    • SPECIFICATIONS
  • BRAND
    • JAPANESE CARS
      • DAIHATSU
      • EUNOS
      • FORD
      • HONDA
      • ISUZU
      • LEXUS
      • MAZDA
      • MITSUBISHI
      • MITSUOKA
      • NISSAN
      • SUBARU
      • SUZUKI
      • TOYOTA
    • GERMAN CARS
    • AMERICAN CARS
    • BRITISH CARS
    • ITALIAN CARS
    • FRENCH CARS
    • SWEDISH CARS
    • KOREAN CARS
  • TYPE
    • mobility
    • VENDING
    • instruction
    • TAXIS
    • AMBULANCES
    • FIRE ENGINES
    • HEARSES
    • LIMOUSINES
    • COMMERCIAL
  • CLASS
    • SPORTS CARS
    • MOTORSPORT
    • LEFT HAND DRIVE
    • FOUR WHEEL DRIVE
    • NEW VEHICLES
    • SALVAGE VEHICLES
    • PASSENGER VANS
    • LUXURY CARS
    • CLASSIC CARS
    • REPLICA CARS
    • RETRO CARS
    • BOX CARS
    • KEI MINI CARS
    • KEI MINI VANS
    • CONVERTIBLES
    • MICRO CARS
    • COMMUTER CARS
  • FUEL
    • HYBRID VEHICLES
    • ELECTRIC VEHICLES
    • CNG VEHICLES
    • LPG VEHICLES
    • DIESEL VEHICLES
  • TRUCKS
    • HINO TRUCKS
    • TOYOTA TRUCKS
    • ISUZU TRUCKS
    • NISSAN TRUCKS
    • UD TRUCKS
    • MAZDA TRUCKS
    • MITSUBISHI TRUCKS
    • FUSO TRUCKS
    • MERCEDES TRUCKS
    • VOLVO TRUCKS
    • DUMP TRUCKS
    • WING TRUCKS
    • REFRIGERATED TRUCKS
    • CRANE TRUCKS
    • CAR CARRIERS
    • TOW TRUCKS
    • PLATFORM TRUCKS
    • TANKER TRUCKS
    • VACUUM TRUCKS
    • COMPACTOR TRUCKS
    • CONCRETE MIXERS
    • CONCRETE PUMPS
    • ROLL TRUCKS
    • FIRE TRUCKS
    • PRIME MOVERS
    • 4WD TRUCKS
    • HYBRID TRUCKS
    • CNG TRUCKS
  • minitrucks
    • DAIHATSU
    • HONDA
    • MAZDA
    • MITSUBISHI
    • NISSAN
    • SUBARU
    • SUZUKI
    • DUMP
    • CRANE
    • CAMPER
    • REFRIGERATED
    • 4WD
    • NEW
  • BUSES
  • MOTORHOMES
    • YAHOO!
    • RAKUTEN
    • DEALER
  • PARTS
    • FREE REPORT
    • PARTS CONTAINERS
    • PARTS SYSTEMS
    • PARTS PROTECTION
    • BODY SHELLS
    • DISMANTLING
    • ONLINE PARTS
    • NEW PARTS
    • INTERIOR PARTS
      • SEATS
      • AUDIO VISUAL
      • METERS & GAUGES
      • TURBO TIMERS
      • AIRBAGS
    • EXTERIOR PARTS
      • BONNETS
      • BUMPERS
      • GRILLES
      • FENDERS
      • DOORS
      • TRUNKS
      • SPOILERS
      • LIGHTS
      • EMBLEMS
      • CAMERAS
    • ENGINES
    • TRANSMISSIONS
    • WHEELS & TYRES
      • WHEELS
      • TYRES
  • CUTS
  • PERFORMANCE PARTS
    • TURBOCHARGERS
    • ENGINE PARTS
    • SPARK PLUGS
    • ECU
    • MUFFLERS
    • SUSPENSIONS
    • BRAKES
    • CARBON PARTS
    • CLEANERS & FILTERS
    • TOWER & ROLL BARS
  • TRUCK PARTS
    • TRUCK CABINS
    • TRUCK BODIES
    • TRUCK DOORS
    • TRUCK BUMPERS
    • TRUCK GRILLES
    • TRUCK HEADLIGHTS
    • TRUCK TAIL LIGHTS
    • TRUCK CRANES
    • TRUCK WINCHES
    • TRUCK BATTERIES
    • TRUCK WHEELS & TYRES
      • WHEELS
      • TYRES
  • MOTORBIKE PARTS
    • MOTORBIKE ENGINES
    • MOTORBIKE ACCESSORIES
  • MOTORBIKES
    • SALVAGE MOTORBIKES
    • QUAD BIKES
    • TRIKES
    • ELECTRIC SCOOTERS
  • MARINE
    • POWER BOATS
    • SAIL BOATS
    • JETSKIS
    • MARINE ENGINES
  • FORKLIFTS
    • AUCTION FORKLIFTS
    • DEALER FORKLIFTS
    • NEW FORKLIFTS
    • TOYOTA FORKLIFTS
    • NISSAN FORKLIFTS
    • KOMATSU FORKLIFTS
    • MITSUBISHI FORKLIFTS
    • TCM FORKLIFTS
    • NICHIYU FORKLIFTS
    • REACH FORKLIFTS
    • ELECTRIC FORKLIFTS
    • GASOLINE FORKLIFTS
    • LPG FORKLIFTS
    • DIESEL FORKLIFTS
    • FORKLIFT PARTS
    • FORKLIFT SHIPPING
  • MACHINERY
    • CRANES
    • EXCAVATORS
    • MINI EXCAVATORS
    • WHEEL LOADERS
    • BULLDOZERS
    • SKID STEERS
    • ELEVATED PLATFORMS
    • BREAKERS
    • CONCRETE CUTTERS
  • AGRICULTURAL
    • TRACTORS
    • HAND TRACTORS
    • COMBINES
    • BINDERS
    • RICE PLANTERS
  • OTHER
    • GO KARTS
    • MOBILITY SCOOTERS
    • GOLF CARTS
    • BICYCLES
    • SNOWMOBILES
    • SNOW PLOWS
    • GENERATORS
    • COMPRESSORS
    • WELDERS
  • COUNTRY
    • AUSTRALIA
    • CANADA
    • KENYA
    • MYANMAR
    • NEW ZEALAND
    • PAKISTAN
    • TANZANIA
    • UNITED STATES
CARVIEW
MOTORHOMES
Select Language
HTTP/2 200 content-type: text/html; charset=utf-8 cache-control: max-age=0, private, must-revalidate date: Wed, 30 Jul 2025 07:10:14 GMT referrer-policy: strict-origin-when-cross-origin set-cookie: devcenter-next-sso-session=VjQ5Y2JuUnh4cWhmL2RNL3dXMkw4WEpzN2tCeCtEbjdJRTF6cmF6WGNXZDQ0Q2ZpeFFCVmdnVHJRWEw4bXpPTU9pcE9uMmtFclZPQUlKNUdXeWRTVnMzVVh4SSt2dE82cW0xdm5VZjBOaFNrcFl3NlU1cGl2MG8rUU45QlFkR083VXJ1aW45akE2Mld0czVUU2I3SGFiSThmSThERkdpYzcwTDh0bEV2UGxwdXZtelQ3dzRsUjRacHR1UGFXQVBULS0wZmxKMXVYa0RkNlRqNEZ2eGVaMktRPT0%3D--797de56d0e4ae8c95d3b2293062fe5a76f204636; path=/; secure; httponly strict-transport-security: max-age=63072000; includeSubDomains via: 1.1 spaces-router (c8e35807128d), 1.1 fc6802f17c8a7d65cdca1d2dcc28efec.cloudfront.net (CloudFront) x-content-type-options: nosniff x-download-options: noopen x-frame-options: SAMEORIGIN x-permitted-cross-domain-policies: none x-request-id: ea6fbae9-07b6-473f-b81f-b936a1069d64 x-runtime: 0.354866 x-xss-protection: 1; mode=block content-encoding: gzip etag: W/"2cb66cffac4911d46d0a9bf12020af77" vary: accept-encoding x-cache: Miss from cloudfront x-amz-cf-pop: BOM78-P3 x-amz-cf-id: YtakV7L9O84vo_MdQytAsvp1lAI_EiWLXZ-c1MwPFcLwskBpU6vx-g== Heroku Postgres データベースのバージョンのアップグレード | Heroku Dev Center
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
    • プラットフォームポリシー
    • プラットフォームの原則
    • Buildpacks
  • 開発者ツール
    • コマンドライン
    • Heroku の VS Code 拡張機能
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Node.js アプリのトラブルシューティング
      • Heroku での Node.js の動作
      • Node.js の操作
    • Ruby
      • 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
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Heroku Postgres への移行
    • Heroku Key-Value Store
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference Essentials
      • Inference API
      • Heroku Inference Quick Start Guides
      • AI Models
    • Model Context Protocol
    • Vector Database
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
    • Heroku AppLink
      • Working wtih Heroku AppLink
      • Getting Started with Heroku AppLink
      • Heroku AppLink Reference
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
    • Other Salesforce Integrations
  • データベースとデータ管理
  • Heroku Postgres
  • Postgres の基礎
  • Heroku Postgres データベースのバージョンのアップグレード

Heroku Postgres データベースのバージョンのアップグレード

日本語 — Switch to English

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

最終更新日 2025年02月26日(水)

Table of Contents

  • pg:upgrade でのアップグレード
  • pg:copy でのアップグレード
  • 古いプライマリデータベースのプロビジョニング解除

この記事では、Heroku Postgres データベースのメジャー PostgreSQL バージョンをアップグレードする方法について説明します。Heroku でサポートされている最新のメジャー PostgreSQL バージョンは 16 です。

ユーザーは、pg:upgrade​ 経由でデータベースの​マイナー​バージョンを自分で更新することはできません。代わりに、新しいマイナーバージョンが利用可能で、データベースが最新のマイナーバージョンでない場合は、各データベースメンテナンスの後に Heroku によってマイナーバージョンが自動的に更新されます。

メジャー PostgreSQL バージョンのアップグレードは、Heroku CLI​ 経由でのみ実行できます。これは、慎重に実行する必要のある重大な操作です。

Heroku では、アップグレードのための 2 つの方法がサポートされています。どちらの方法でも、アップグレード中のデータ損失を防ぐために、ある程度のアプリケーションのダウンタイムが必要です。

​アップグレード方法 ​説明
​pg:upgrade ​すべての Heroku Postgres プランで機能し、推奨されている方法です。

約 30 分のダウンタイムが必要ですが、この量は変動する場合があります。
​pg:copy Essential、Standard、Premium、および Private 層の Heroku Postgres プランで機能しますが、10 GB 未満のデータベースに限られます。

​PGBackups は Shield データベースで機能しない​ため、Shield 層のプランではサポートされていません。

GB あたり約 3 分のダウンタイムが必要ですが、この量は大きく変動する場合があります。

Heroku Connect​ を使用して Salesforce データをデータベースと同期する場合は、Heroku Postgres データベースバージョンのアップグレードに関する手順​を参照してください。

ストリーミングデータコネクター​を使用する場合は、Heroku Postgres データベースバージョンのアップグレードに関する手順​を参照してください。

pg:upgrade でのアップグレード

Essential 層

この方法は全 Essential 層の Heroku Postgres プランでサポートされています。essential-0​、essential-1​、または essential-2​ データベースを使用している場合は、フォロワーではなくデータベースで直接 pg:upgrade​ を実行できます。

$ heroku pg:upgrade HEROKU_POSTGRESQL_RED --app example-app

Standard 層およびそれ以上

Standard 層以上のデータベースでは、pg:upgrade​ のみを使用してフォロワーデータベースをアップグレードできます。このデータベースは同じプランのままですが、現在のリーダーのフォローは停止します。

pg:upgrade​ コマンドは、PostgreSQL の ​pg_upgrade​ ユーティリティを使用して PostgreSQL バージョンをその場でアップグレードします。

PostgreSQL バージョン​および​プランの両方をアップグレードする必要がある場合は、別のプランで新しいフォロワーをプロビジョニングし、切り替えプロセス​の一部として pg:upgrade​ を実行します。

pg:upgrade​ を実行するには、約30 分間のアプリのダウンタイムが必要になります。

pg:upgrade​ コマンドは、大量のスキーマがあるデータベースでメモリ不足エラーのため失敗する可能性があります。データベースに 1,000 以上のスキーマがあるか、10,000 以上のオブジェクトが格納されている場合、アップグレードを事前にテストし​、このアップグレードが失敗する場合はサポートチケットを開いてください​。

 

データベースをバージョン 14、15、16 にアップグレードできます。pg:upgrade​で使用するバージョンは、--version​ フラグ (--version 15​ など) で指定できます。--version​フラグが設定されていない場合は、デフォルトで 16 にアップグレードされます。

1. フォロワーデータベースをプロビジョニングする

pg:upgrade​ を実行する 24 時間前までにアップグレード対象のフォロワーを作成することをお勧めします。

開始するには、データベースのフォロワーを作成し、そのフォロワーがリーダーデータベースに追いつくまで待ちます。この例では、standard-2​ プランのフォロワーが HEROKU_POSTGRESQL_LAVENDER_URL​ に作成されます。ニーズに最適なプラン​をプロビジョニングできます。HEROKU_POSTGRESQL_LAVENDER_URL​は、アップグレードしようとしているデータベースの環境設定​に置き換えてください。

addons:create​ の例は Heroku CLI v9.0.0​ 以降の構文に従っています。v8.11.5 以前を使用している場合は、次のコマンドを使用してください。

$ heroku addons:create heroku-postgresql:standard-2 --follow HEROKU_POSTGRESQL_​LAVENDER_URL --app example-app
$ heroku addons:create heroku-postgresql:standard-2 --app example-app -- --follow HEROKU_POSTGRESQL_LAVENDER_URL
Adding heroku-postgresql:standard-2 to example-app... done, v71 ($200/mo)
Attached as HEROKU_POSTGRESQL_WHITE
Follower will become available for read-only queries when up-to-date
Use `heroku pg:wait` to track status
$ heroku pg:wait
Waiting for database HEROKU_POSTGRESQL_WHITE_URL... performing final cleanup steps after upgrade

フォロワーは、プライマリデータベースまで 200 コミット以内のときに “追いついた” と見なされます。フォロワーが遅れているコミット数は、pg:info​ コマンドを使用して確認できます (フォロワーデータベースの Behind By​ 行を参照)。

$ heroku pg:info --app example-app
=== HEROKU_POSTGRESQL_LAVENDER
Plan:        Standard 0
Status:      available
...
=== HEROKU_POSTGRESQL_WHITE
Plan:        Standard 2
Status:      available
...
Following:   HEROKU_POSTGRESQL_LAVENDER (DATABASE_URL)
Behind By:   125 commits

2. データベースの書き込みを防止するためにメンテナンスモードにする

アップグレードプロセス中に、新しいデータは新しいデータベースに転送されないため、現在のプライマリデータベースに新しいデータが書き込まれないようにすることが重要です。これを行うには、アプリをメンテナンスモード​にします。スケジューラージョブも実行されている場合は、これを無効にします。メンテナンスモードの間、データベースでは請求時間が発生し続けます。

メンテナンスモードでは、dyno が自動的にはスケールダウンされません。どの接続もデータベースにデータを書き込んでいないようにするために、Web dyno や Web 以外の dyno をスケールダウンします (heroku ps:scale worker=0​ など)。

 

アップグレードプロセスのこの時点で、アプリケーションは起動できなくなります。

$ heroku maintenance:on --app example-app
Enabling maintenance mode for example-app... done

3. フォロワーデータベースをアップグレードする

メンテナンスモードになり、プライマリデータベースに追加データが書き込まれていない状態になったので、フォロワーデータベースをアップグレードできます。

フォロワーデータベースがプライマリに​完全に​追いつくまで待ちます (0 commits​ 遅れていることで示される)。

$ heroku pg:info --app example-app
=== HEROKU_POSTGRESQL_LAVENDER_URL
Plan:        Standard 0
Status:      available
...
=== HEROKU_POSTGRESQL_WHITE_URL
Plan:        Standard 2
Status:      available
...
Following:   HEROKU_POSTGRESQL_LAVENDER_URL (DATABASE_URL)
Behind By:   0 commits

フォロワーが追いつくまで待たないと、次のエラーメッセージが表示されることがあります。

 ▸    database must not be too far behind leader, please wait until your follower catches up with its leader.

フォロワーが追いついたら、pg:upgrade​ コマンドを使用して、フォロワーの PostgreSQL バージョンをその場でアップグレードします。アップグレードにより、フォロワーはプライマリデータベースのフォロー解除も行います。この手順は通常、完了するまでに約 20 分かかります。

$ heroku pg:upgrade HEROKU_POSTGRESQL_WHITE --app example-app

pg:wait​ を使用して、アップグレードの進捗状況を監視できます。

$ heroku pg:wait --app example-app
Waiting for database HEROKU_POSTGRESQL_WHITE_URL... performing final cleanup steps after upgrade

pg:upgrade​ プロセスの一部として、Heroku Postgres はデータベースに対して ANALYZE​ を実行します。これにより、データベースの統計が再計算され、バージョンアップグレードの後も Postgres クエリプランナーに確実に最新情報が保持されるようになります。すべての資格情報とカスタム資格情報​も、アップグレードプロセスの一環としてローテーションされます。

pg:upgrade​ コマンドは、データベース内のテーブルのデータ型に互換性がないなどのエラーが原因で失敗する可能性があります。アップグレードに失敗した場合は、pg:wait​ を実行すると version upgrade error, check your Heroku email notifications for details​ エラーが返されます。エラー解決後にアップグレードを再開できます。

5.0 より前のバージョンの Rails には、Postgres 10 以上との既知の互換性の問題があります。この問題を回避するには、Rails のバージョンをアップグレードするか、Rails の問題で推奨されているモンキーパッチ​を使用してください。

4. 新しいデータベースをプロモートまたはアタッチする

DATABASE_URL​ が以前のプライマリデータベースの環境設定​だった場合は、pg:promote​ を使用して新しくアップグレードしたデータベースを新しい DATABASE_URL​ としてプロモートします。pg:promote​ では、新しい HEROKU_POSTGRESQL_<color>_URL​ 環境設定に割り当てられた、古いプライマリデータベースの代替アタッチメントが作成されます。このプロモーションプロセスによってリリースがトリガーされ、アプリが再起動されます。

$ heroku pg:promote HEROKU_POSTGRESQL_WHITE --app example-app
Promoting HEROKU_POSTGRESQL_WHITE_URL to DATABASE_URL... done

アプリはまだ新しいリクエストを受信して​​いませんが、これで手順 1 で作成した​フォロワーデータベースがアプリのプライマリデータベース (DATABASE_URL​) になりました。

アップグレードするデータベースにデフォルトの DATABASE_URL​ とは異なる環境設定がある場合は、heroku addons:attach​ を使用して、必要なエイリアスまたはアタッチメント名で新しくアップグレードしたデータベースをプロモートします。元のプライマリデータベースが複数のアプリにアタッチされていた場合は、addons:attach​ を使用して新たにアップグレードされたデータベースをこれらのアプリにアタッチする必要があります。

プロモーションの後、元のプライマリデータベースのフォロワーは、新しいプライマリのフォローを自動的に開始するようにはなりません​。

必要に応じて、新しいプライマリデータベースのフォロワーを作成してください。Heroku CLI v9.0.0 以降を使用している場合は、次のコマンドを実行します。

$ heroku addons:create heroku-postgresql:standard-0 -a example-app -- --follow DATABASE_URL

Heroku CLI v8.11.5 以前を使用している場合は、次のコマンドを実行します。

$ heroku addons:create heroku-postgresql:standard-0 --follow DATABASE_URL --app example-app

古いフォロワーが必要なくなったら、必ずプロビジョニング解除してください。

 

古いプライマリが接続プールを使用していて、デフォルト名の DATABASE_CONNECTION_POOL​ でアタッチされていた場合、プロモートにより、接続プーラーは同じ名前 DATABASE_CONNECTION_POOL​ で新しいプライマリに再アタッチされます。

デフォルト以外の名前のアタッチメントは再アタッチされません。新しいプライマリでも、古いプライマリと同じデフォルト以外の名前で接続プールを使用する場合は、新しいプライマリで接続プールをアクティブ化する必要があります。

$ heroku pg:connection-pooling:attach DATABASE_URL --as MY_DATABASE_CONNECTION_POOL -a example-app

5. メンテナンスモードを終了する

通常のアプリケーション操作を再開するには、Web 以外のすべての dyno をその元のレベルにスケーリングします (heroku ps:scale worker=1​ など)。

最後に、メンテナンスモードをオフにします。

$ heroku maintenance:off --app example-app

これで、アップグレードされたデータベースインスタンスへのリクエストをアプリケーションが受信するようになりました。これは、heroku pg:info​ を実行することによって確認できます。DATABASE_URL​で示されるデータベースはプライマリデータベースと見なされます。

Heroku Postgres データベースが Heroku アプリケーションに接続されていない場合は、HEROKU_POSTGRESQL_WHITE_URL​ を取得し、それをプライマリデータベースとして使用するようにアプリケーションを更新する必要があります。

pg:copy でのアップグレード

pg:copy​ のアップグレード方法では、PostgreSQL のネイティブなバックアップと復元ユーティリティを使用します。データベースバックアップをディスクに書き込む代わりに、バックアップデータを新しくプロビジョニングされたデータベースの復元プロセスに直接ストリーミングします。このプロセスによって肥大化​ (データベース上の使用されなくなった行によって占有される余分な領域) を減らし、ディスク領域を節約できます。

pg:copy​ の方法では、現在のデータベースの GB あたり約 3 分のアプリのダウンタイムが必要ですが、この量はスキーマやデータベースプランによって大きく異なる場合があります。必要なダウンタイムは、アップグレードをテストする​ (非本番アプリケーションの新しいデータベース上でアップグレードプロセスを実行する) ことによって見積もることができます。

pg:copy​ の方法では、サポートされているすべての Heroku Postgres プランとバージョン間のアップグレードがサポートされています。pg:copy​ は、デフォルトの資格情報とそれがアクセスできるデータのみをコピーします。その他の資格情報と、それでしかアクセスできないデータはコピーされません。

スケジュール設定されたバックアップ機能を使用する Essential 層データベースの場合、Production 層のプランにアップグレードするとスケジュールは失われます。バックアップが失われないようにするには、アップグレード後にもう一度スケジュールを設定​します。

1. 新しいデータベースをプロビジョニングする

目的のプランの新しい Heroku Postgres データベースをプロビジョニングします (次の例では、standard-0​ プランが使用されていますが、ニーズに最適なプラン​をプロビジョニングする必要がある)。

$ heroku addons:create heroku-postgresql:standard-0 --app example-app
Adding heroku-postgresql:standard-0 on example-app... done, v122 ($50/mo)
The database should be available in 3-5 minutes

データベースを、サポートされている最新バージョン以外のバージョンの PostgreSQL にアップグレードする場合は、--version​ フラグ (--version 15​ など) で使用するバージョンを指定してください。

Standard、Premium、および Private 層データベースのプロビジョニングには数分かかります。pg:wait​コマンドを使用すると、プロビジョニングがいつ完了したかの通知を受け取ることができます。

$ heroku pg:wait -a example-app
Waiting for database HEROKU_POSTGRESQL_PINK_URL... performing final cleanup steps after upgrade

2. データベースの書き込みを防止するためにメンテナンスモードにする

アップグレードプロセス中に、新しいデータは新しいデータベースに転送されないため、現在のプライマリデータベースに新しいデータが書き込まれないようにすることが重要です。これを行うには、アプリをメンテナンスモード​にします。スケジューラージョブも実行されている場合は、これを無効にします。

メンテナンスモードでは、dyno が自動的にはスケールダウンされません。どの接続もデータベースにデータを書き込んでいないようにするために、Web dyno や Web 以外の dyno をスケールダウンします (heroku ps:scale worker=0​ など)。

 

アップグレードプロセスのこの時点で、アプリケーションは起動できなくなります。

$ heroku maintenance:on -a example-app
Enabling maintenance mode for example-app... done

3. データを新しいデータベースに転送する

データを現在のデータベースから新しくプロビジョニングされたデータベースにコピーするには、新しい​データベースの HEROKU_POSTGRESQL_COLOR​ 名を指定して pg:copy​ コマンドを使用します。

この例では、DATABASE_URL​ が転送するデータのソースであり、HEROKU_POSTGRESQL_PINK​ がターゲットデータベースです。

$ heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_PINK --app example-app
!    WARNING: Destructive Action
!    Transfering data from DATABASE_URL to HEROKU_POSTGRESQL_PINK
!    This command will affect the app: example-app
!    To proceed, type "example-app" or re-run this command with --confirm example-app
> example-app

新しいデータベースのアドオン名 (例: ​postgresql-concave-52656​) も使用できます。

$ heroku pg:copy DATABASE_URL postgresql-concave-52656 --app example-app

4. 新しいデータベースをプロモートまたはアタッチする

DATABASE_URL​ が以前のプライマリデータベースの環境設定​だった場合は、pg:promote​ を使用して新しくアップグレードしたデータベースを新しい DATABASE_URL​ としてプロモートします。pg:promote​ では、新しい HEROKU_POSTGRESQL_<color>_URL​ 環境設定に割り当てられた、古いプライマリデータベースの代替アタッチメントが作成されます。このプロモーションプロセスによってリリースがトリガーされ、アプリが再起動されます。

$ heroku pg:promote HEROKU_POSTGRESQL_PINK --app example-app
Promoting HEROKU_POSTGRESQL_PINK_URL to DATABASE_URL... done

アプリはまだ新しいリクエストを受信して​​いませんが、これで手順 1 で作成した​データベースがアプリのプライマリデータベース (DATABASE_URL​) になりました。

アップグレードするデータベースにデフォルトの DATABASE_URL​ とは異なる環境設定がある場合は、heroku addons:attach​ を使用して、必要なエイリアスまたはアタッチメント名で新しくアップグレードしたデータベースをプロモートします。元のプライマリデータベースが複数のアプリにアタッチされていた場合は、addons:attach​ を使用して新たにアップグレードされたデータベースをこれらのアプリにアタッチする必要があります。

プロモーションの後、元のプライマリデータベースのフォロワーは、新しいプライマリのフォローを自動的に開始するようにはなりません​。

必要に応じて、新しいプライマリデータベースのフォロワーを作成してください。Heroku CLI v9.0.0 以降を使用している場合は、次のコマンドを実行します。

$ heroku addons:create heroku-postgresql:standard-0 -a example-app -- --follow DATABASE_URL

Heroku CLI v8.11.5 以前を使用している場合は、次のコマンドを実行します。

$ heroku addons:create heroku-postgresql:standard-0 --follow DATABASE_URL -a example-app

古いフォロワーが必要なくなったら、必ずプロビジョニング解除してください。

5. メンテナンスモードを終了する

通常のアプリケーション操作を再開するには、Web 以外のすべての dyno をその元のレベルにスケーリングします (heroku ps:scale worker=1​ など)。

最後に、メンテナンスモードをオフにします。

$ heroku maintenance:off --app example-app

アプリケーションが、新しいデータベースインスタンスへのリクエストを受信するようになりました。これは、heroku pg:info​ を実行することによって確認できます。DATABASE_URL​で示されるデータベースはプライマリデータベースと見なされます。

Heroku Postgres データベースが Heroku アプリケーションに接続されていない場合は、HEROKU_POSTGRESQL_WHITE_URL​ を取得し、それをプライマリデータベースとして使用するようにアプリケーションを更新する必要があります。

古いプライマリデータベースのプロビジョニング解除

データベースをアップグレードした後、古いプライマリデータベースを必ずプロビジョニング解除してください。

$ heroku addons:destroy HEROKU_POSTGRESQL_LAVENDER --app example-app

古いプライマリデータベースに関連付けられていたデータクリップを新しいデータベースに再割り当てする必要があります。すべての回復可能なデータクリップを解決するには、「Dataclip recovery​」(データクリップのリカバリ) の手順に従ってください。

関連カテゴリー

  • 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
  • HOME
  • ABOUT
  • AUCTIONS
  • SHIPPING
  • FEES
  • TOOLS
  • HOW
  • FAQ
  • CONTACT
 
Original Source | Taken Source