目次
環境
Windows 8 Pro 64bit
heroku toolbelt
https://toolbelt.heroku.com/
railsinstaller-3.1.0.exe
Ruby 2.1.5
Rails 4.1
Bundler
Git
Sqlite
TinyTDS
SQL Server Support
DevKit
操作に必要なアドオンは必要なくなりました。
2015-05現在、add-onとしてのPG Backupsは非推奨となっています。
詳しくはhttps://devcenter.heroku.com/articles/pgbackups
クライアントコマンドは、HerokuのPostgresに標準で組み込まれました。
コマンドが変わったようです
https://devcenter.heroku.com/articles/heroku-postgres-backups#scheduling-backups
新コマンドと旧コマンドのマッピングはこちら
マッピング
https://devcenter.heroku.com/articles/mapping-pgbackups-commands
実践
herokuからデータベース名を取得する
$ heroku config --app アプリケーションID
heroku config はアプリケーションの設定を一覧表示するコマンドです。
HEROKU_POSTGRES_XXX_URLの値は Postgres にアクセスするために必要な情報です。
以下のフォーマットになっています。
HEROKU_POSTGRESQL_XXX_URL: postgres://ユーザ名:パスワード@サーバ名:ポート/データベース
自動バックアップをスケジュールす Scheduling backups
定期的な自動バックアップをスケジュールすることができます。
これらは、指定されたデータベースに対して毎日実行されます。
$ heroku pg:backups schedule DATABASE_URL --app アプリケーションID
実行結果
Scheduled automatic daily backups at 04:00 UTC for HEROKU_POSTGRESQL_BROWN
バックアップ状態を確認する Checking Backup Status
作成済のバックアップを確認する
$ heroku pg:backups --app unitprice
Your version of git is 1.8.4.. Which has serious security vulnerabilities.
More information here: https://blog.heroku.com/archives/2014/12/23/update_your_git_clients_on_windows_and_os_x
=== Backups
ID Backup Time Status Size Database
---- ------------------------- ---------------------------------- ------ --------
b003 2015-04-29 06:04:34 +0000 Finished 2015-04-29 06:04:35 +0000 10.1kB BROWN
b002 2015-04-29 06:04:07 +0000 Finished 2015-04-29 06:04:07 +0000 10.1kB BROWN
スケジュールを止めるには To stop regular backups, use unschedule:
$ heroku pg:backups unschedule DATABASE_URL --app アプリケーションID
スケジュールを確認するには To view current schedules for your app, use:
$ heroku pg:backups schedules --app unitprice
=== Backup Schedules
HEROKU_POSTGRESQL_BROWN_URL: daily at 4:00 (UTC)
実践・他
使われている行数確認
$ heroku pg:info
Your version of git is 1.8.4.. Which has serious security vulnerabilities.
More information here: https://blog.heroku.com/archives/2014/12/23/update_your_git_clients_on_windows_and_os_x
=== HEROKU_POSTGRESQL_BROWN_URL (DATABASE_URL)
Plan: Hobby-dev
Status: Available
Connections: 2/20
PG Version: 9.4.1
Created: 2015-04-27 06:14 UTC
Data Size: 7.0 MB
Tables: 4
Rows: 4/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
バックアップを手動で作成する Creating a backup
$ heroku pg:backups capture --app unitprice
HEROKU_POSTGRESQL_BROWN ---backup---> b001
[0KBackup completedB
バックアップファイルをダウンロードするには Downloading your backups
バックアップのURLを作成します。HerokuのPostgresの外にデータをエクスポートする場合に便利です。
$ heroku pg:backups public-url b003 --app アプリケーションID
The following URL will expire at 2015-04-29 06:56:35 +0000:
"https://xxx
このURLをクリックしてダウンロードします。
10分後に期限切れになります。
存在しないバックアップファイルを指定すると
internal error
特定のバックアップに関する詳細な情報を取得するには、infoコマンドを使用します。
$ heroku pg:backups info b003 --app unitprice
=== Backup info: b003
Database: BROWN
Started: 2015-04-29 06:04:34 +0000
Finished: 2015-04-29 06:04:35 +0000
Status: Completed Successfully
Type: Manual
Original DB Size: 7.31MB
Backup Size: 10.1kB (100% compression)
=== Backup Logs
2015-04-29 06:04:34 +0000: pg_dump: reading schemas
バックアップを削除するには Deleting a backup
heroku pg:backups delete b001 --app アプリケーションID
バックアップからリストアするには Restoring a backup
通常
heroku pg:backups restore b001 DATABASE_URL --app アプリケーションID
DATABASE_URL はそのまま入力します。
他のアプリケーションのバックアップからもリストアできます
$ heroku pg:backups restore flailing-papaya-42::b101 DATABASE_URL
公開URLに置いたファイルからもリストアできます
$ heroku pg:backups restore 'https://s3.amazonaws.com/me/items/mydb.dump' DATABASE -a sushi
広告