将两个postgres数据库合并为一个最简单的方法?

时间:2014-08-04 11:24:16

标签: database postgresql

目前,我有两个postgres 9个数据库,用于两个不同的数据源。

数据库1称为 musicbrainz ,主要用户是 musicbrainz ,表格是在架构 musicbrainz

中创建的

数据库2称为 discogs ,主要用户 discogs ,表格以架构 discogs

创建

我现在需要执行涉及两个数据库中的表的查询,因此我想将所有表放在一个数据库中。我很高兴再次启动并加载原始数据文件中的数据,但最简单的方法是做什么,特别是我在用户名,schemaname和databasename之间的关系以及一个名称与数据库/或用户,而不是使用公共。

另外一个问题是,在两个数据库(musicbrainz和discogs)中都有一些同名的表,尽管重命名一种意义是可能的。请注意,数据库仅供单个用户使用(我)

解决方案 我决定这样做:

  • 创建新数据库 musicdata
  • 创建与unix用户名匹配的新数据库超级用户
  • 创建架构 musicbrainz discogs
  • 将用户架构搜索路径设置为 musicbrainz
  • 使用schema musicbrainz将musicbrainz数据导入musicdata
  • 将用户架构搜索路径设置为 discogs
  • 使用架构discogs将disocgs数据导入musicdata
  • 将用户架构搜索路径设置为musicbrainz,discogs
  • 检查可以看到所有带有psql和\ dt;
  • 的表

到目前为止工作正常

1 个答案:

答案 0 :(得分:0)

解决方案我决定这样做:

  1. 创建新数据库musicdata
  2. 创建与unix用户名匹配的新数据库超级用户
  3. 创建架构musicbrainzdiscogs
  4. 将用户架构搜索路径设置为musicbrainz
  5. 使用架构musicdata
  6. 将musicbrainz数据导入musicbrainz
  7. 将用户架构搜索路径设置为discogs
  8. 使用架构musicdata
  9. 将disocgs数据导入discogs
  10. 将用户架构搜索路径设置为musicbrainz, discogs
  11. 检查可以查看包含psql\dt;
  12. 的所有表格
相关问题