Oracle에서 PostgreSQL로 마이그레이션 하는 과정에서 아래와 같이 환경정보와 파일설치, 환경변수 설정까지 완료한 상태입니다.
환경정보
Red Hat Enterprise Linux release 8.4 (Ootpa)
PostgreSQL 15.0
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
설치자료 및 다운로드 정보
Oracle Instant Client for Linux x86-64 (64-bit) 다운로드
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
Postgresql 15 관련 LIbrary 파일 다운로드
https://download.postgresql.org/pub/reps/yum/15/redhat/rhel-8-x86_64/
oracle_fdw-ORACLE_FDW_2_6_0 다운로드
https://github.com/laurenz/oracle_fdw/releases/tag/ORACLE_FDW_2_6_0
환경변수 설정
export PG_HOME=/usr/pgsql-15
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LB_LIBRARY_PATH
export PATH=$LD_LIBRARY_PATH:$PG_HOME/lib:$PG_HOME/bin:$ORACLE_HOME/bin:$PATH
아래부터 에러 항목입니다.
1. make를 실행했을 때,
[postgres@...oracle_fdw-ORACLE_FDW_2_6_0]$ make
oracle_fdw.c: In function 'oraclePlanForeignModify':
oracle_fdw.c:1589:18: warning: implicit declaration of function 'get_rel_all_updated_cols'; did you mean 'get_rel_tablespace'? [-Wimplicit-function-declaration]
oracle_fdw.c:1589:16: warning: assignment to 'Bitmapset *' {aka 'struct Bitmapset *'} from 'int' makes pointer from integer without a cast [-Wint-conversion]
위와 같은 경고가 뜹니다.
2. psql에서 CREATE EXTENSION oracle_fdw; 실행
postgres=# CREATE EXTENSION oracle_fdw;
ERROR: could not load library "/usr/pgsql-15/lib/oracle_fdw.so": /usr/pgsql-15/lib/oracle_fdw.so: undefined symbol: get_rel_all_updated_cols
위와 같은 에러가 뜹니다.
비슷한 상황은 겪어보신 분들 도움 부탁드립니다.