AlloyDB Omni에는 orafce 확장 프로그램이 포함되어 있지 않지만 이 페이지의 안내에 따라 기존 AlloyDB Omni 설치에 수동으로 추가할 수 있습니다. orafce 확장 프로그램은 Oracle 데이터베이스의 함수와 패키지의 하위 집합을 에뮬레이션하는 함수와 연산자를 제공합니다. 이를 통해 Oracle에서 AlloyDB Omni과 같은 PostgreSQL 호환 데이터베이스로 애플리케이션을 간편하게 마이그레이션할 수 있습니다.
시작하기 전에
시스템에 AlloyDB Omni를 설치했는지 확인합니다.
AlloyDB Omni 설치에 orafce 추가
AlloyDB Omni 설치에 orafce 확장 프로그램을 추가하려면 다음 단계를 따르세요.
- 설치된 AlloyDB Omni 버전 라벨을 찾습니다.
Docker
docker run --rm -it google/alloydbomni cat VERSION.txt
Podman
podman run --rm -it google/alloydbomni cat VERSION.txt
출력은 다음과 비슷합니다.
AlloyDB Omni version: Omniween
다음 단계에서 필요하므로 AlloyDB Omni 버전 번호를 기록해 둡니다.
OMNI_VERSION
환경 변수를 설정합니다.OMNI_VERSION=VERSION
VERSION을 이전 단계의 전체 데이터베이스 서버 버전(예:
16.3.0
)으로 바꿉니다.- orafce가 포함된 새 AlloyDB Omni 컨테이너를 만듭니다.
Linux
mkdir ~/alloydb-omni-orafce
tee -a ~/alloydb-omni-orafce/Dockerfile << EOF ARG OMNI_VERSION FROM google/alloydbomni:${OMNI_VERSION} RUN apt-get update && \ apt-get install -y --no-install-recommends postgresql-16-orafce && \ apt-get purge -y --auto-remove && \ rm -rf /var/lib/apt/lists/* EOF
cd ~/alloydb-omni-orafce
sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-orafce:$OMNI_VERSION .
macOS
mkdir ~/alloydb-omni-orafce
tee -a ~/alloydb-omni-orafce/Dockerfile << EOF ARG OMNI_VERSION FROM google/alloydbomni:${OMNI_VERSION} RUN apt-get update && \ apt-get install -y --no-install-recommends postgresql-16-orafce && \ apt-get purge -y --auto-remove && \ rm -rf /var/lib/apt/lists/* EOF
cd ~/alloydb-omni-orafce
sudo docker build --build-arg OMNI_VERSION=$OMNI_VERSION --tag google/alloydbomni-with-orafce:$OMNI_VERSION .
AlloyDB Omni로
my-omni-orafce
라는 새 컨테이너를 만듭니다.docker run --name my-omni-orafce -e POSTGRES_PASSWORD=NEW_PASSWORD -d google/alloydbomni-with-orafce:OMNI_VERSION
orafce 확장 프로그램을 사용하여 데이터베이스에 연결합니다.
docker exec -it my-omni-orafce psql -h localhost -U postgres
- orafce를 사용 설정합니다.
CREATE EXTENSION IF NOT EXISTS ORAFCE;
orafce가 설치되고 사용 설정되어 있는지 확인합니다.
SELECT oracle.sysdate();
결과는 다음과 유사합니다.
postgres=# SELECT oracle.sysdate();
sysdate
---------------------
2024-06-10 16:36:30
(1 row)