sql >> データベース >  >> RDS >> PostgreSQL

Herokuでデータベースを表示する

    Kirstenが言うように、共有データベースプランは現在Herokuプラットフォームの外部からアクセスできません(これは「本番」Postgresサービス用に予約されているものです)。ただし、他にもいくつかのオプションがあります。

    主なものの1つは、データをプルダウンしてローカルで確認することです。 Tapsrubygemを使用する これは幸運にも非常に簡単です:

    $ heroku db:pull
    ...
    Receiving schema
    Receiving data
    8 tables, 591 records
    users:         100% |==============================================| Time: 00:00:00
    pages:         100% |==============================================| Time: 00:00:00
    comments:      100% |==============================================| Time: 00:00:00
    tags:          100% |==============================================| Time: 00:00:00
    Receiving indexes
    Resetting sequences
    

    大規模なデータセットを使用している場合にこのタスクを軽くすることができる他のいくつかのオプションがあります:

    # -c, --chunksize SIZE # specify the number of rows to send in each batch
    # -d, --debug          # enable debugging output
    # -e, --exclude TABLES # exclude the specified tables from the push
    # -f, --filter REGEX   # only push certain tables
    # -r, --resume FILE    # resume transfer described by a .dat file
    # -t, --tables TABLES  # only push the specified tables
    

    これらはすべて、herokugemソースで確認できます。

    タップは、Herokuコンテキストの外部でも使用できます。 詳細については、READMEを参照してください。

    2番目のオプションであり、より大きなデータセットではるかに望ましいオプションは、Herokupgbackupsアドオンを使用することです。 。これにより、データベースのダンプを作成し、ファイルをローカルにダウンロードして、クリーンなDBに対してインポートできます。 Tapsの動作方法により、これはTapsよりも大幅に高速です。

    使用するのは素晴らしくて簡単です:

    $ heroku update
    
    $ heroku addons:add pgbackups
    Adding pgbackups to myapp... done
    
    $ heroku pgbackups:capture
    
    DATABASE_URL  ----backup--->  b003
    
    Dump... 2.6MB, done
    Upload... 2.6MB, done
    
    $ heroku pgbackups
    ID   | Backup Time         | Size    | Database             
    -----+---------------------+---------+----------------------
    b003 | 2010/10/22 15:16.01 |   2.6MB | SHARED_DATABASE_URL  
    b004 | 2010/10/22 15:18.12 | 424.7MB | HEROKU_POSTGRESQL_URL
    
    $ heroku pgbackups:url b004
    "http://s3.amazonaws.com/hkpgbackups/[email protected]/b004.dump?AWSAccessKeyId=ABCD1234&Expires=1289261668&Signature=3mMBeKISewgEUDT%2FL5mRz4EYS4M%3D"
    

    その最後のURLをダウンロードしてインポートできます。



    1. 数字以外の文字を含む行を除外するOracleSQLクエリ

    2. 非同期呼び出しをまとめて同期的に動作させるにはどうすればよいですか?

    3. postgresqlの列にNOTNULLを設定すると、パフォーマンスが向上しますか?

    4. mysqlselectQueryを動的に作成する