INSERT INTO MySQL 表 SELECT FROM PostgreSQL 表
Posted
技术标签:
【中文标题】INSERT INTO MySQL 表 SELECT FROM PostgreSQL 表【英文标题】:INSERT INTO MySQL table SELECT FROM PostgreSQL table 【发布时间】:2015-09-15 09:45:56 【问题描述】:我有一个在 PostgreSQL 上运行的 Amazon Redshift 表。该表每天都会更新大量用户数据。
我必须运行一个 CRON 进程来每天从表中导入一些需要的数据到不同的 mysql 数据库中。我在 php 中工作。请帮助我如何以编程方式实现这一目标。
【问题讨论】:
抱歉 mallik SO 不是免费的编码资源您必须开始该过程,然后如果您对有限的代码有特定问题,我们非常愿意提供帮助. 但我们不按照规范工作 【参考方案1】:您应该使用 UNLOAD 命令从 Redshift 导出到 S3 存储桶,然后将该文件(CSV 是一个不错的选择)加载到 MySQL 中。这一切都可以通过 cron 作业完成。这是迄今为止最快、最安全的方法。
http://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html
附: Redshift 并没有真正“在 PostgresSQL 上运行”。当然,Redshift 是 Postgres 的一个分支,但两者是完全不同的野兽。
【讨论】:
【参考方案2】:您是否尝试过从 postgress db 获取数据并从中创建一个数组,然后在该数组的帮助下将其插入 mysql。 (我假设你熟悉 postgress 和 mysql 查询的语法)
【讨论】:
是的,我有这个想法,但由于数据非常大(~1,00,000 行 x 10 列),建议存储在临时变量中。 不建议将其存储在变量中,因为这会产生内存限制问题,而是一次从每个表中获取 250 条记录的块并执行 cron,但差异可能更短每分钟,这样postgress db不会有太大变化以上是关于INSERT INTO MySQL 表 SELECT FROM PostgreSQL 表的主要内容,如果未能解决你的问题,请参考以下文章
INSERT INTO MySQL 表 SELECT FROM PostgreSQL 表