Postgresql:如何执行跨数据库查询

时间:2014-10-04 03:17:16

标签: ruby-on-rails ruby-on-rails-3 postgresql psql rails-postgresql

我目前有2个相同的架构数据库(1个用于登台,1个用于生产)。我遇到的一个问题是临时与实际生产数据一起使用,我根本无法在浏览器上手动输入它,因为我需要传输超过一百个数据并且增量转储不会起作用,因为它会导致与存在唯一ID。

我想到的一个想法就是做一些像

这样的事情

插入帖子值(从staging_db中选择*);

但是从我看到的内容来看,与mysql相比,psql 8.4.13似乎不支持此功能。还有其他方法可以进行转移吗?

另外我在rails 3上做应用程序,如果psql已经出来那么也许有些rails方式可以做到这一点?

1 个答案:

答案 0 :(得分:0)

COPY数据输出到文件,然后再返回。

假设您正在使用psql客户端:

\c staging_db
\copy (select col1, col2, col3 from the_table where ....) to 'newvalues.csv'
\c production_db
\copy the_table(col1, col2, col3) from 'newvalues.csv'

请注意,列列表应省略生成的ID列,以便\copy ... from ...强制生成新ID。

如果您的新数据不仅仅是一个表,那么这将不起作用;你必须编写一个脚本/工具来提取它并重新插入它。