Python 地理数据库与普通数据库的分离

Python 地理数据库与普通数据库的分离,python,django,postgresql,postgis,geo,Python,Django,Postgresql,Postgis,Geo,目前我有2个数据库 主(默认)数据库,包含用户、帖子等所有内容(此数据库在PostgreSQL wie psycopg2上运行) 二级(geo)数据库,仅包含地理数据(此数据库在postgis 1.5上运行) Django和PG不支持跨数据库关系,原因很充分,我已经知道,但我将数据库拆分,因为我担心地理数据库会针对地理数据进行优化,如果我将所有数据混合在一个数据库中,整个性能将受到影响,另外,我甚至不知道我是否能在一个数据库中保存所有的地理数据和普通数据。 但是我想将数据从主(1)数据库关联到辅

目前我有2个数据库

  • 主(默认)数据库,包含用户、帖子等所有内容(此数据库在PostgreSQL wie psycopg2上运行)
  • 二级(geo)数据库,仅包含地理数据(此数据库在postgis 1.5上运行)
  • Django和PG不支持跨数据库关系,原因很充分,我已经知道,但我将数据库拆分,因为我担心地理数据库会针对地理数据进行优化,如果我将所有数据混合在一个数据库中,整个性能将受到影响,另外,我甚至不知道我是否能在一个数据库中保存所有的地理数据和普通数据。 但是我想将数据从主(1)数据库关联到辅助(2)数据库


    这种方法是合理的还是完全错误的?

    如果您关心性能,很明显数据需要放在一个数据库中

    Spatial并不特殊,它只是另一种数据类型。我不明白为什么启用PostGIS会影响数据库的性能。但是,使用主数据库的副本来测试这一点并没有什么坏处,特别是在生产环境中


    如果您担心启用PostGIS会将数百个函数添加到“公共”模式中,您可以创建一个“PostGIS”模式并将扩展放在那里。但是,我不确定geodjango将如何处理此设置。

    如果要连接两个表中的数据,它们必须位于同一个数据库中,否则将无法工作。@Patashu我知道这一点。而且我不需要加入自定义的纯数据关系。例如,A在(1)上,B在(2)上。B是一个与a相关的地理条目。get_B()可以轻松地在数据库(2)上发出查询,传递a的主键,该主键只是B表上的一个bigint,但已被索引。该链接非常有趣,我必须升级到PostGIS 2.0,但我不认为这将是一个主要问题。今天我将实施一个测试设置,并在完成后对其进行评论。。我还记得PostGIS 1.5的一个类似方法,但不确定它的用途。记住(但不是更新的)。对我来说很好。非常感谢你。