将heroku postgres db复制到本地sqlite db

时间:2014-04-16 23:40:19

标签: sqlite postgresql heroku

我想将我的heroku制作db(postgres)复制到我的开发(sqlite)。

使用heroku pg:pull可以轻松地将postgres数据库复制到另一个postgres数据库中。有谁知道如何使用此命令将postgres复制到sqlite

Heroku docs on pg:pull没有说明如何使用不同类型的dbs。 This old article暗示过去曾有可能。设置本地postgres db是我想要避免的。

1 个答案:

答案 0 :(得分:4)

您需要在本地执行pg_restore,然后使用-a选项转储数据以仅转储数据。

看起来应该是这样的:

  1. 下载数据转储。

    heroku addons:add pgbackups
    heroku pgbackups:capture
    curl -o latest.dump `heroku pgbackups:url`
    
  2. 创建临时数据库。

    sudo -u postgres createdb tempdb
    
  3. 将转储恢复到临时数据库。

    sudo -u postgres pg_restore --verbose --clean --no-acl --no-owner -h localhost -d tempdb latest.dump
    
  4. 以正确的格式转储数据。

    sudo -u postgres pg_dump --inserts -a -b tempdb > data.sql
    
  5. 在sqlite3中读取转储。

    sqlite3
    > .read data.sql
    
  6. 这是近似解决方案。您很可能需要进行一些小的调整。

    我同意Craig Ringer可能值得在本地运行postgres。希望这个过程可以解决这个问题!