PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Visualizzazione del database in Heroku

Come dice Kirsten, i piani di database condivisi non sono attualmente accessibili dall'esterno della piattaforma Heroku (questo è qualcosa riservato al servizio Postgres di "produzione"). Tuttavia, ci sono alcune altre opzioni.

Uno dei principali è estrarre i dati e guardarli localmente. Utilizzando il rubygem di Taps questo è fortunatamente molto molto semplice:

$ 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

Sono disponibili alcune altre opzioni che possono semplificare questa attività se utilizzi un set di dati di grandi dimensioni:

# -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

Tutto questo può essere visto nella heroku gem source .

I tocchi possono essere utilizzati anche al di fuori del contesto di Heroku. Per ulteriori informazioni, consulta il README. .

Una seconda opzione, molto più preferibile con set di dati più grandi, consiste nell'usare il componente aggiuntivo Heroku pgbackups . Ciò ti consentirà di creare un dump del tuo database e quindi di scaricare il file in locale per importarlo su un DB pulito. Questo è significativamente più veloce di Taps grazie al modo in cui funziona Taps.

Usarlo è bello e semplice:

$ 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"

L'ultimo URL può essere scaricato e importato.