2025 년 7 월 17 일 : | 윈 토토 : 윈 토토 18 베타 2
이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 36.14. 사용자 정의 롤 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

35.12. 무지개 토토 정의 연산자

모든 운영자는"구문 설탕"실제 작업을 수행하는 기본 기능에 대한 호출; 그래서 먼저 생성하기 전에 기본 기능을 만들어야합니다. 연산자. 그러나 운영자는구문 설탕 쿼리 플래너를 돕는 추가 정보가 제공됩니다 연산자를 사용하는 쿼리를 최적화하십시오. 다음 섹션은 다음과 같습니다 추가 정보를 설명하는 데 전념합니다.

PostgreSQL왼쪽 단시 지원, 오른쪽 단지 및 이진 연산자. 연산자가 과부하 될 수 있습니다. 즉, 동일한 연산자 이름이 다른 연산자에게 사용할 수 있습니다. 숫자와 유형의 피연산자가 있습니다. 쿼리가있을 때 실행 된 시스템은 운영자가 제공된 피연산자의 수와 유형.

다음은 두 추가를위한 연산자를 만드는 예입니다. 복소수. 우리는 이미 정의를 만들었다고 가정합니다 유형복잡한(참조섹션 35.11). 먼저 우리는 그 기능이 필요합니다 작업을 수행하면 연산자를 정의 할 수 있습니다.

함수 만들기 complex_add (complex, complex)
    복잡한 반환
    처럼 'filename','complex_add '
    언어 C 불변의 엄격;

연산자 생성 + (
    leftarg = complex,
    rightarg = complex,
    절차 = complex_add,
    통근자 = +
);

이제 다음과 같은 쿼리를 실행할 수 있습니다.

test_complex에서 c로 (a + b)를 선택합니다.

        기음
------------------
 (5.2,6.05)
 (133.42,144.95)

여기에서 이진 연산자를 만드는 방법을 보여주었습니다. 생성합니다 외교 사업자, 중 하나를 생략합니다왼쪽(왼쪽 단원) 또는Rightarg(오른쪽 단절). 그만큼절차절 및 인수 조항은에서 유일하게 필요한 항목입니다.운영자 만들기. 그만큼Commutator예제에 표시된 절은 an입니다 쿼리 옵티마이저에 대한 선택적 힌트. 에 대한 자세한 내용Commutator및 기타 최적화 힌트 다음 섹션에 나타납니다.