본문 바로가기
DataBase/🐘PostgreSQL

PostgreSql에서 orafce install 설치하기

by 발개발자 2022. 9. 13.
반응형

Oracle에서 Postgresql로 DB 컨버젼하면서 너무 많은 프로시저에서 Oracle함수에 대한 의존성을 가지고 있어 한번에 다 걷어낼 수 없는 상황이었다.

 

 

그래서 일단 Oracle데이터를 PostgreSql에서 그대로 컨버젼을 떠놓고 작동만 시키기 위해 Postgresql에서 Oracle 함수를 지원할 수 있어야 했다. 이를 지원해주는 게 orafce 이다.

 

아래 공식문서 링크의 설명을 보면, 이 모듈에는 Oracle 응용 프로그램을 PostgreSQL로 포팅하는 데 도움이되거나 일반적으로 유용 할 수있는 몇 가지 유용한 기능이 포함되어 있습니다. 라고 설명하고 있다. 

정말 땡큐스럽게 따악 본인이 찾던 기능이다.

 

GitHub - orafce/orafce: The "orafce" project implements in Postgres some of the functions from the Oracle database that are missing (or behaving differently).Those functions were verified on Oracle 10g, and the module is useful for production work.

 

GitHub - orafce/orafce: The "orafce" project implements in Postgres some of the functions from the Oracle database that are miss

The "orafce" project implements in Postgres some of the functions from the Oracle database that are missing (or behaving differently).Those functions were verified on Oracle 10g, and the ...

github.com

 

 

 

그렇다면 본격적으로 해당 모듈을 Postgresql에 설치해보자.

 

  환경

OS : CentOs8.0 

DB : Postgresql14

 

 

  orafce 설치

yum install orafce_14

여기서 orafce_버전으로 작성자처럼 14버전이 아닌 다른버전에 대한 모듈을 설치할 수 있다.

 

 

yum install이 성공적으로 완료되었다면, 아래와 같은 경로에 orafce.control파일 등 orafce관련 파일들이 생성되었을 것이다.

/usr/pgsql-14/share/extension/

 

 

  DB에서 orafce 생성

CREATE EXTENSION orafce;

이제 Postgresql Command 창으로 들어가 위의 Sql문을 날려주면 orafce모듈이 Postgresql에 설치되게 된다.

 

 

해당 작업을 완료한 후 DB를 새로고침하면 아래와 같이 Oracle 관련 스키마들이 생성된다.

 

oracle스키마의 function안에 Oracle에서 제공하는 함수들이 생성되어 있고 해당 function들을 public으로 옮기게 되면, 우리가 일반적으로 사용하는 select decode()와 같은 함수를 사용할 수 있다.

만약 public으로 옮기지 않으면 oracle.decode() 이런식으로 스키마를 문법에 넣어줘야 하기 때문에 다소 번거로울 수 있다.

 

국내 블로그 중 orafce에 대한 자료가 별로 없어 포스팅했으니 도움이 됐으면 좋겠다.

 

 

 

참고

orafce_13-3.14.0-1.rhel7.x86_64.rpm CentOS 7 Download (pkgs.org)

반응형

댓글