Heroku Postgresの運用でよく使うコマンド集

すべて公式サイトに記載されている内容ですが、よく使うコマンドをすぐに参照できるように、一覧としてまとめます。

コマンド集

データベースのバックアップを保存する

% heroku pg:backups:capture --app your-app-name

データベースのバックアップ一覧を確認する

% heroku pg:backups --app your-app-name

データベースのバックアップをコマンドラインでローカル環境にダウンロードする

% heroku pg:backups:download --app your-app-name

特定のバックアップを指定してダウンロードしたい場合は、以下のようにバックアップID(bxxxと記載した部分)を指定します。

% heroku pg:backups:download bxxx --app your-app-name

※ここでダウンロードしたファイルは、次の節のようにpg_restoreコマンドでPostgreSQLに復元できます。

ダウンロードしたバックアップをローカルのPostgreSQLインスタンスに復元する

% pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump

( 公式サイトの説明ページは、こちら

なお、homebrewでPostgreSQLをインストールした場合、PostgreSQLはkeg onlyなので、pg_restoreコマンドへのPATHが通っていない状態になっています。

その場合は、以下のように、ローカルで利用しているPostgreSQLの特定のバージョンのpg_restoreコマンドに対して、パスを通す必要があります。

% brew link postgres@xx

PostgreSQLのインスタンス自体は、Dockerの中で動作していてもpg_restoreコマンドを実行できます。その場合、コンテナ内のPostgreSQLが動作しているポートがローカルホストのポートにバインドされていなければなりません。

Docker内のPostgreSQLインスタンスに復元する場合でも、pg_restoreコマンドをホスト環境側(macOSのターミナルなど)で実行する場合は、ホスト環境にPostgreSQLをインストールして、pg_restoreコマンドを使えるようにしておく必要があります。

本サイトの更新情報は、Twitterの株式会社プレセナ・ストラテジック・パートナーズエンジニア公式アカウントで発信しています。ご確認ください。

最終更新