쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

100개 이상의 인수가 있는 Oracle 함수 및 프로시저를 PostgreSQL로 마이그레이션 - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

100개 이상의 인수가 있는 Oracle 함수 및 프로시저를 PostgreSQL로 마이그레이션

작성자: Srinivas Potlachervoo(AWS)

요약

이 패턴은 100개 이상의 인수가 있는 Oracle Database 함수 및 프로시저를 PostgreSQL로 마이그레이션하는 방법을 보여줍니다. 예를 들어 이 패턴을 사용하여 Oracle 함수 및 프로시저를 다음 PostgreSQL 호환 AWS 데이터베이스 서비스 중 하나로 마이그레이션할 수 있습니다.

  • PostgreSQL용 Amazon Relational Database Service(Amazon RDS)

  • Amazon Aurora PostgreSQL 호환 에디션

PostgreSQL은 100개 이상의 인수가 있는 함수 또는 프로시저를 지원하지 않습니다. 해결 방법으로 소스 함수의 인수와 일치하는 형식 필드가 있는 새로운 데이터 유형을 정의할 수 있습니다. 그런 다음 사용자 지정 데이터 유형을 인수로 사용하는 PL/pgSQL 함수를 만들고 실행할 수 있습니다.

사전 조건 및 제한 사항

사전 조건 

제품 버전

  • Amazon RDS Oracle DB 인스턴스 버전 10.2 이상

  • Amazon RDS PostgreSQL DB 인스턴스 버전 9.4 이상 또는 Aurora PostgreSQL-Compatible DB 인스턴스 버전 9.4 이상

  • Oracle SQL Developer 버전 18 이상

  • pgAdmin 버전 4 이상

아키텍처

소스 기술 스택  

  • Amazon RDS Oracle DB 인스턴스 버전 10.2 이상

대상 기술 스택  

  • Amazon RDS PostgreSQL DB 인스턴스 버전 9.4 이상 또는 Aurora PostgreSQL-Compatible DB 인스턴스 버전 9.4 이상

도구

서비스

기타 서비스

  • Oracle SQL Developer는 기존 배포와 클라우드 기반 배포 모두에서 Oracle 데이터베이스의 개발 및 관리를 간소화하는 통합 개발 환경입니다.

  • pgAdmin은 PostgreSQL을 위한 오픈 소스 관리 도구입니다. 데이터베이스 객체를 생성, 유지 관리 및 사용하는 데 도움이 되는 그래픽 인터페이스를 제공합니다.

모범 사례

생성하는 데이터 유형이 소스 Oracle 함수 또는 프로시저에 포함된 유형 필드와 일치하는지 확인합니다.

에픽

작업설명필요한 기술

100개 이상의 인수가 있는 기존 Oracle/PLSQL 함수 또는 프로시저를 생성 또는 식별합니다.

100개 이상의 인수가 있는 Oracle/PLSQL 함수 또는 프로시저를 생성합니다.

-또는-

100개 이상의 인수가 있는 기존 Oracle/PLSQL 함수 또는 프로시저를 식별합니다.

자세한 내용은 Oracle Database 설명서의 섹션 14.7 CREATE FUNCTION Statement14.11 CREATE PROCEDURE Statement를 참조하세요.

Oracle/PLSQL 전문 지식

Oracle/PLSQL 함수 또는 프로시저를 컴파일합니다.

Oracle/PLSQL 함수 또는 프로시저를 컴파일합니다.

자세한 내용은 Oracle Database 설명서의 함수 컴파일을 참조하세요.

Oracle/PLSQL 전문 지식

Oracle/PLSQL 함수를 실행합니다.

Oracle/PLSQL 함수 또는 프로시저를 실행합니다. 그런 다음 출력을 저장합니다.

Oracle/PLSQL 전문 지식

100개 이상의 인수가 있는 Oracle 함수 또는 프로시저 실행

작업설명필요한 기술

100개 이상의 인수가 있는 기존 Oracle/PLSQL 함수 또는 프로시저를 생성 또는 식별합니다.

100개 이상의 인수가 있는 Oracle/PLSQL 함수 또는 프로시저를 생성합니다.

-또는-

100개 이상의 인수가 있는 기존 Oracle/PLSQL 함수 또는 프로시저를 식별합니다.

자세한 내용은 Oracle Database 설명서의 섹션 14.7 CREATE FUNCTION Statement14.11 CREATE PROCEDURE Statement를 참조하세요.

Oracle/PLSQL 전문 지식

Oracle/PLSQL 함수 또는 프로시저를 컴파일합니다.

Oracle/PLSQL 함수 또는 프로시저를 컴파일합니다.

자세한 내용은 Oracle Database 설명서의 함수 컴파일을 참조하세요.

Oracle/PLSQL 전문 지식

Oracle/PLSQL 함수를 실행합니다.

Oracle/PLSQL 함수 또는 프로시저를 실행합니다. 그런 다음 출력을 저장합니다.

Oracle/PLSQL 전문 지식
작업설명필요한 기술

PostgreSQL에서 새로운 데이터 유형을 정의합니다.

PostgreSQL에서 소스 Oracle 함수 또는 프로시저의 인수에 나타나는 것과 동일한 필드를 모두 포함하는 새로운 데이터 유형을 정의합니다.

자세한 내용은 PostgreSQL 설명서의 CREATE USER를 참조하세요.

PostgreSQL PL/pgSQL 지식

소스 함수 또는 프로시저의 인수와 일치하는 새로운 데이터 유형 정의

작업설명필요한 기술

PostgreSQL에서 새로운 데이터 유형을 정의합니다.

PostgreSQL에서 소스 Oracle 함수 또는 프로시저의 인수에 나타나는 것과 동일한 필드를 모두 포함하는 새로운 데이터 유형을 정의합니다.

자세한 내용은 PostgreSQL 설명서의 CREATE USER를 참조하세요.

PostgreSQL PL/pgSQL 지식
작업설명필요한 기술

새로운 데이터 유형을 포함하는 PostgreSQL 함수를 생성합니다.

새로운 TYPE 인수를 포함하는 PostgreSQL 함수를 생성합니다.

예제 함수를 검토하려면 이 패턴의 추가 정보 섹션을 참조하세요.

PostgreSQL PL/pgSQL 지식

PostgreSQL 함수를 컴파일합니다.

PostgreSQL에서 함수를 컴파일합니다. 새로운 데이터 유형 필드가 소스 함수나 프로시저의 인수와 일치하면 함수가 성공적으로 컴파일됩니다.

PostgreSQL PL/pgSQL 지식

PostgreSQL 함수를 실행합니다.

PostgreSQL 함수를 실행합니다.

PostgreSQL PL/pgSQL 지식

새로운 TYPE 인수를 포함하는 PostgreSQL 함수 생성

작업설명필요한 기술

새로운 데이터 유형을 포함하는 PostgreSQL 함수를 생성합니다.

새로운 TYPE 인수를 포함하는 PostgreSQL 함수를 생성합니다.

예제 함수를 검토하려면 이 패턴의 추가 정보 섹션을 참조하세요.

PostgreSQL PL/pgSQL 지식

PostgreSQL 함수를 컴파일합니다.

PostgreSQL에서 함수를 컴파일합니다. 새로운 데이터 유형 필드가 소스 함수나 프로시저의 인수와 일치하면 함수가 성공적으로 컴파일됩니다.

PostgreSQL PL/pgSQL 지식

PostgreSQL 함수를 실행합니다.

PostgreSQL 함수를 실행합니다.

PostgreSQL PL/pgSQL 지식

문제 해결

문제Solution

함수는 다음과 같은 오류를 반환합니다.

ERROR: "<statement>" 근처의 구문 오류

함수의 명령문 모두가 세미콜론 (;)으로 끝나는지 확인합니다.

함수는 다음과 같은 오류를 반환합니다.

ERROR: "<variable>"은 알려진 변수가 아님

함수 본문에 사용된 변수가 함수 DECLARE 섹션 내에 나열되어 있는지 확인합니다.

관련 리소스

추가 정보

TYPE 인수를 포함하는 PostgreSQL 함수의 예

CREATE OR REPLACE FUNCTION test_proc_new ( IN p_rec type_test_proc_args ) RETURNS void AS $BODY$ BEGIN /* ************** The body would contain code to process the input values. For our testing, we will display couple of values. *************** */ RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_acct_id: ', p_rec.p_acct_id); RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_ord_id: ', p_rec.p_ord_id); RAISE NOTICE USING MESSAGE = CONCAT_WS('', 'p_ord_date: ', p_rec.p_ord_date); END; $BODY$ LANGUAGE plpgsql COST 100;
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.