Oracle에서 Postgresql로 DB 컨버젼하면서 너무 많은 프로시저에서 Oracle함수에 대한 의존성을 가지고 있어 한번에 다 걷어낼 수 없는 상황이었다.
그래서 일단 Oracle데이터를 PostgreSql에서 그대로 컨버젼을 떠놓고 작동만 시키기 위해 Postgresql에서 Oracle 함수를 지원할 수 있어야 했다. 이를 지원해주는 게 orafce 이다.
아래 공식문서 링크의 설명을 보면, 이 모듈에는 Oracle 응용 프로그램을 PostgreSQL로 포팅하는 데 도움이되거나 일반적으로 유용 할 수있는 몇 가지 유용한 기능이 포함되어 있습니다. 라고 설명하고 있다.
정말 땡큐스럽게 따악 본인이 찾던 기능이다.
그렇다면 본격적으로 해당 모듈을 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)
'DataBase > 🐘PostgreSQL' 카테고리의 다른 글
[PostgreSQL] Lock해제 - AccessShareLock 풀기 (2) | 2022.10.21 |
---|---|
CentOS Stream8 에서 Postgresql14 설치 및 외부 접속 셋팅 (0) | 2022.08.24 |
Postgresql에서 AES256 암호화 후 Base64 Encoding 하기 (0) | 2022.07.29 |
Mybatis에서 PostgreSQL 프로시저 Cursor 값 받기 (0) | 2022.05.21 |
댓글