加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何将大量记录(4m)迁移到Heroku / Postgresql

发布时间:2020-12-17 02:36:06 所属栏目:百科 来源:网络整理
导读:我有一个来自MSSQL 2008的csv文件,有400万条记录,我想在heroku上的 postgresql中导入该文件.我已经准备好了一个脚本来迁移数据,但加载时间太长,我试图把它分成多个文件,但又花了太长时间. 我试图在我的本地电脑上进行导入,然后将数据推送到heroku,但我再次没
我有一个来自MSSQL 2008的csv文件,有400万条记录,我想在heroku上的 postgresql中导入该文件.我已经准备好了一个脚本来迁移数据,但加载时间太长,我试图把它分成多个文件,但又花了太长时间.

我试图在我的本地电脑上进行导入,然后将数据推送到heroku,但我再次没那么快.

有什么想法,建议吗?

谢谢

解决方法

我们最近进行了大量进口,有3000万条记录.

这就是我们所做的.

我们已经设置了postgres的本地副本.我们正在运行一个rails应用程序,所以我们将它作为我们的开发db连接起来并运行所有迁移以获得我们正在寻找的正确的表结构和索引.

之后,我们从MSSQL和MySQL环境中导入了数据,我们后来将其推送到Heroku.

我们运行了测试脚本并测试了我们的app,以确保所有数据都有效(检查日期,布尔字段和集合等列)

设置完所有数据后,我们在数据上运行了一个本地pgdump.我们使用了这个命令:

PGPASSWORD=your_db_password_here pg_dump -Fc --no-acl --no-owner -h localhost -U your_db_user_here your_db_name_here > mydb.dump

之后我们把它放在一个私人亚马逊s3桶上,这样heroku就可以轻松找到它.

如果您在Heroku中有多个数据库,或者您正在使用专用的postgres实例,请确保从命令行设置数据库:

heroku pg:promote HEROKU_POSTGRESQL_RED

将HEROKU_POSTGRESQL_RED替换为您的.您可以使用heroku pg:info命令找到它
如果不这样做,您的数据库将被导入到共享实例,您将不得不重做此过程.

您还需要确保在执行导入之前已启用pgbackups插件.如果你还没有这样做,现在就去做.

下一步是从Heroku的doc页面:https://devcenter.heroku.com/articles/pgbackups#importing_from_a_backup

heroku pgbackups:restore DATABASE 'http://s3.amazonaws.com/.....mydb.dump?authparameters'

之后你应该准备好了.随意问的问题.由于我们的数据转储大小超过50gig,这让我们想一想.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读