2012-03-15 3 views
0

Oracle 내에서 생성 된 스크립트를 편집하여 Postgres로 Oracle 데이터베이스를 이식하려고하고 일부 지오메트리 유형 열을 발견했습니다. 나는 나 기하학 유형을 사용할 수 있도록하기 위해 PostGIS와를 사용하고 다음과 같은 사용하여 열을 추가하고 :테이블 생성시 데이터를 열에 저장하는 방법을 정의하십시오.

CREATE TABLE TABLE_NAME 
(
    ID   BIGINT      NOT NULL, 
    GEOM   GEOMETRY, 
    CENTROID  GEOMETRY, 
    R_CENTROID GEOMETRY, 
    NUM_POINTS BIGINT, 
    PK   BIGINT, 
    EXTENT  GEOMETRY 
); 

이 그러나 생성 된 오라클 스크립트는 기하학 컬럼에 데이터를 저장하는 방법을 지정 편집기에서 확인 통과

VARRAY "R_EXTENT"."SDO_ELEM_INFO" STORE AS LOB (
    ENABLE  STORAGE IN ROW 
    CHUNK  8192 
    RETENTION 
    CACHE 
    LOGGING 
    INDEX  (
     STORAGE (
        INITIAL   64K 
        MINEXTENTS  1 
        MAXEXTENTS  UNLIMITED 
        PCTINCREASE  0 
        BUFFER_POOL  DEFAULT 
        )) 
     STORAGE (
        INITIAL   64K 
        MINEXTENTS  1 
        MAXEXTENTS  UNLIMITED 
        PCTINCREASE  0 
        BUFFER_POOL  DEFAULT 
        )) 

이것은 물론 하나의 열이지만이 방법은 포스트그레스에서 어떻게 달성 될 수 있습니까? 또는 그 이상으로 완전히 멈출 수 있습니다.

답변

2

Oracle 스크립트에서 저장 영역 설정을 무시할 수 있습니다. 그들은 컬럼 값의 물리적 저장만을 처리하고 컬럼의 사용에 전혀 영향을 미치지 않습니다.

PostgreSQL은 사용자 지정 데이터 형식을 다르게 처리합니다.

원래 그대로 유지하십시오. CREATE TABLE 아무 것도 변경할 필요가 없습니다.

+0

환상적입니다. 감사. – CSharpened

관련 문제