PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Visualizando banco de dados no Heroku


Como Kirsten diz, os planos de banco de dados compartilhados não são atualmente acessíveis de fora da plataforma Heroku (isso é algo reservado para o serviço Postgres de 'produção'). No entanto, existem algumas outras opções.

Um dos principais é extrair seus dados e examiná-los localmente. Usando o Taps rubygem isso é felizmente muito, muito simples:
$ 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

Existem algumas outras opções disponíveis que podem tornar essa tarefa mais leve se você estiver usando um grande conjunto de dados:
# -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

Tudo isso pode ser visto na heroku gem source .

Taps também podem ser usados ​​fora do contexto Heroku. Consulte o README para obter mais informações. .

Uma segunda opção, e muito mais preferível com conjuntos de dados maiores, é usar o complemento Heroku pgbackups . Isso permitirá que você crie um dump de seu banco de dados e, em seguida, baixe o arquivo localmente para importar em um banco de dados limpo. Isso é significativamente mais rápido que o Taps devido à maneira como o Taps funciona.

Para usar é bom e simples:
$ 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"

Essa última URL pode ser baixada e importada.