现我需要将oracle中的表迁移到postgresql中, 
但oracle中的数据类型:MDSYS.SDO_GEOMETRY,应该对应postgresql的什么类型呢?谢谢! 

解决方案 »

  1.   

    postgresql有没有专门针对空间数据库的类型?
    如果有,你就看看postgresql的该类型。
    如果没有,那就很不好做了。Oracle Spatial可是oracle独有处理空间数据的。别的DBMS不一定能专门针对空间数据来处理。
      

  2.   

    en,谢谢,我是刚接触postgresql。
    从网上看的结果是:PostGIS支持所有的空间数据类型,这些类型包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等。 
    我感觉:oracle spatial的一些私有类型,应该是可以被postgresql某些类型给替代的。
    但问题:SDO_GEOMETRY表示一个几何对象,可以是点、线、面、多点、多线、多面或混合对象。感觉是个很大的类,但在postgis里将点,线..这些全部分开表示了,我就不清楚应该从哪方面入手将SDO_GEOMETRY类型变成postgis的类型?
      

  3.   

    postgresql没接触过。
    应该很不好做。普通的异构数据库迁移都要费不少事,何况空间数据库。
      

  4.   

    本身的体系结构就不太一样 空间数据这里更不一样 如果不支持spatial恐怕不能迁移
      

  5.   

    建议LZ先用大文本或XML格式导出,在POSTGIS写一个转换函数转换回来