젠 토토 생성 - 새로운 집계 함수 정의
생성 [또는 교체] 젠 토토이름
([argmode
] [argname
]arg_data_type
[, ...]) ( sfunc =sfunc
, stype =state_data_type
[, sspace =state_data_size
] [, finalfunc =ffunc
] [, finalfunc_extra] [, finalfunc_modify = read_only | 공유 가능한 | read_write] [, combineFunc =CombineFunc
] [, serialfunc =SerialFunc
] [, deserialfunc =deserialfunc
] [, initcond =Initial_Condition
] [, msfunc =msfunc
] [, minvfunc =minvfunc
] [, mstype =mstate_data_type
] [, msspace =mstate_data_size
] [, mfinalfunc =mffunc
] [, mfinalfunc_extra] [, mfinalfunc_modify = read_only | 공유 가능한 | read_write] [, minitcond =minitial_condition
] [, sortop =Sort_Operator
] [, Parallel = Safe | 제한 | 안전하지 않은] )) [또는 교체] 젠 토토 생성이름
([[Argmode
] [argname
]arg_data_type
[, ...]] [ 주문argmode
] [argname
]arg_data_type
[, ...]) ( sfunc =sfunc
, stype =state_data_type
[, sspace =state_data_size
] [, finalfunc =ffunc
] [, finalfunc_extra] [, finalfunc_modify = read_only | 공유 가능한 | read_write] [, initcond =Initial_Condition
] [, Parallel = Safe | 제한 | 안전하지 않은] [, 가상] )또는 오래된 구문생성 [또는 교체] 젠 토토이름
( BaseType =base_type
, sfunc =sfunc
, stype =state_data_type
[, sspace =state_data_size
] [, finalfunc =ffunc
] [, finalfunc_extra] [, finalfunc_modify = read_only | 공유 가능한 | read_write] [, combineFunc =CombineFunc
] [, serialfunc =SerialFunc
] [, deserialfunc =deserialfunc
] [, initcond =Initial_Condition
] [, msfunc =msfunc
] [, minvfunc =minvfunc
] [, mstype =MSTATE_DATA_TYPE
] [, msspace =mstate_data_size
] [, mfinalfunc =mffunc
] [, mfinalfunc_extra] [, mfinalfunc_modify = read_only | 공유 가능한 | read_write] [, minitcond =minitial_condition
] [, sortop =sort_operator
] )
젠 토토 생성
새로운 젠 토토 함수를 정의합니다.젠 토토 생성 또는 교체
새 젠 토토 함수를 정의하거나 기존 정의를 대체합니다. 일부 기본적이고 일반적으로 사용되는 젠 토토 함수는 분포에 포함됩니다. 그들은에 문서화되어 있습니다.PostgreSQL : 문서 : 18 : 9.21. 와이즈 토토 기능. 새 유형을 정의하거나 아직 제공되지 않은 젠 토토 함수가 필요한 경우젠 토토 생성
원하는 기능을 제공하는 데 사용할 수 있습니다.
기존 정의를 대체 할 때 인수 유형, 결과 유형 및 직접 인수 수가 변경되지 않을 수 있습니다. 또한, 새로운 정의는 오래된 것과 동일한 종류 (일반 젠 토토, 순서 세트 젠 토토 또는 가설 젠 토토)이어야합니다.
스키마 이름이 제공되는 경우 (예 :젠 토토 생성 myschema.myagg ...
) 그러면 젠 토토 함수가 지정된 스키마에서 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다.
집계 함수는 이름 및 입력 데이터 유형으로 식별됩니다. 동일한 스키마의 두 집계는 다른 입력 유형에서 작동하는 경우 동일한 이름을 가질 수 있습니다. 집계의 이름 및 입력 데이터 유형은 동일한 스키마의 모든 일반 기능의 이름 및 입력 데이터 유형과도 구별되어야합니다. 이 동작은 일반 기능 이름의 과부하와 동일합니다 (참조기능 생성).
간단한 젠 토토 함수는 하나 또는 두 개의 일반 함수에서 만들어집니다 : 상태 전환 함수sfunc
및 선택적 최종 계산 함수ffunc
. 이들은 다음과 같이 사용됩니다.
sfunc
(내부 상태, 차세대-값) --- 다음 내부 상태ffunc
(내부 상태) --- 젠 토토 값
PostgreSQL데이터 유형의 임시 변수 생성Stype
젠 토토의 현재 내부 상태를 유지합니다. 각 입력 행에서, 젠 토토 인수 값 (들)이 계산되고 상태 전환 함수는 현재 상태 값과 새로운 인수 값으로 호출되어 새로운 내부 상태 값을 계산합니다. 모든 행이 처리 된 후에는 최종 기능이 한 번 호출되어 젠 토토의 반환 값을 계산합니다. 최종 기능이 없으면 종료 상태 값이 as- as. 반환됩니다.
젠 토토 함수는 초기 조건, 즉 내부 상태 값의 초기 값을 제공 할 수 있습니다. 이것은 데이터베이스에 유형 값으로 지정되고 저장됩니다텍스트
, 그러나 상태 값 데이터 유형의 상수를 유효한 외부 표현이어야합니다. 공급되지 않으면 상태 가치가 널에서 시작됩니다.
상태 전환 기능이 선언 된 경우“엄격한”, 널 입력으로 호출 할 수 없습니다. 이러한 전환 기능을 사용하면 집계 실행이 다음과 같이 동작합니다. 널 입력 값이있는 행은 무시됩니다 (함수는 호출되지 않고 이전 상태 값이 유지됨). 초기 상태 값이 NULL 인 경우 All-Nonnull 입력 값이있는 첫 번째 행에서 첫 번째 인수 값은 상태 값을 대체하고 각 후속 행에서 All-Nonnull 입력 값으로 전환 함수가 호출됩니다. 이것은와 같은 집계를 구현하는 데 편리합니다.max
. 이 동작은에만 사용할 수 있습니다.state_data_type
첫 번째와 동일합니다arg_data_type
. 이러한 유형이 다르면 초기 조건이 아닌 초기 조건을 제공하거나 NAMPLEST 전환 기능을 사용해야합니다.
상태 전환 함수가 엄격하지 않으면 각 입력 행에서 무조건적으로 호출되며 널 입력 및 널 상태 값 자체를 처리해야합니다. 이를 통해 골재 저자는 젠 토토의 널 값 처리를 완전히 제어 할 수 있습니다.
최종 함수가 선언 된 경우“엄격한”, 결말 상태 값이 null 일 때 호출되지 않습니다. 대신 널 결과가 자동으로 반환됩니다. (물론 이것은 엄격한 함수의 정상적인 동작 일뿐입니다.) 어쨌든 최종 함수는 널 값을 반환 할 수있는 옵션이 있습니다. 예를 들어,의 최종 기능avg
입력 행이 0 인 것을 볼 때 NULL을 반환합니다.
때로는 상태 값뿐만 아니라 젠 토토의 입력 값에 해당하는 추가 매개 변수를 취하는 것으로 최종 기능을 선언하는 것이 유용합니다. 이를 수행하는 주된 이유는 최종 기능이 다형성이고 상태 값의 데이터 유형이 결과 유형을 고정하기에 부적절한 경우입니다. 이 추가 매개 변수는 항상 널로 전달됩니다 (따라서 최종 기능이이 엄격하지 않아야합니다.FinalFunc_extra
옵션이 사용됨) 그럼에도 불구하고 유효한 매개 변수입니다. 최종 기능은 예를 들어를 사용할 수 있습니다.get_fn_expr_argtype
현재 통화에서 실제 인수 유형을 식별하려면.
젠 토토가 선택적으로 지원할 수 있습니다이동 모드, 설명대로섹션 36.12.1. 이를 위해서는 지정해야합니다.msfunc
, minvfunc
및mstype
매개 변수 및 선택적으로MSSPACE
, mfinalfunc
, mfinalfunc_extra
, mfinalfunc_modify
및Minitcond
매개 변수. 을 제외하고minvfunc
,이 매개 변수는 해당 단순 응집 매개 변수없이처럼 작동합니다.M
; 역 전이 함수를 포함하는 젠 토토의 별도의 구현을 정의합니다.
구문주문 by
매개 변수 목록에서 an이라는 특수 유형의 젠 토토를 만듭니다.주문 세트 젠 토토; 또는 if가상
지정된 다음 A가상 세트 집계생성되었습니다. 이러한 젠 토토는 정렬 된 값의 그룹에 걸쳐 순서 의존적 방식으로 작동하므로 입력 정렬 순서의 사양은 통화의 필수 부분입니다. 또한, 그들은 가질 수 있습니다Direct인수는 입력 행 당 한 번이 아닌 집계 당 한 번만 평가되는 인수입니다. 가상 세트 골재는 순서대로 인수 열의 숫자 및 데이터 유형에 맞는 직접 인수 중 일부가 필요한 순서 세트 집계의 서브 클래스입니다. 이를 통해 해당 직접 인수의 값은 추가로 집계 입력 행 모음에 추가 될 수 있습니다.“가상”행.
젠 토토가 선택적으로 지원할 수 있습니다부분 젠 토토, 설명대로섹션 36.12.4. 이를 위해서는 지정해야합니다.CombineFunc
매개 변수. 인 경우state_data_type
is내부
, 일반적으로를 제공하는 것도 적절합니다SerialFunc
anddeserialfunc
병렬 응집이 가능하도록 매개 변수. 골재도 표시되어야합니다병렬 금고
병렬 젠 토토를 활성화하려면
좋아하는 젠 토토Min
또는max
모든 입력 행을 스캔하는 대신 인덱스를 살펴보면 때때로 최적화 할 수 있습니다. 이 젠 토토가 그렇게 최적화 될 수 있다면 A를 지정하여 표시하십시오.정렬 연산자. 기본 요구 사항은 젠 토토가 연산자가 유도 한 정렬 순서에서 첫 번째 요소를 산출해야한다는 것입니다. 다시 말해서:
탭에서 agg (col)를 선택하십시오.
:와 동일해야합니다.
Sortop Limit 1을 사용하여 COL에 의해 탭에서 COL을 선택하십시오.
추가 가정은 젠 토토가 널 입력을 무시하고 널 입력이없는 경우에만 널 결과를 전달한다는 것입니다. 일반적으로 데이터 유형<
운영자는 적절한 정렬 연산자입니다min
및적절한 정렬 연산자입니다
max
. 지정된 연산자가가 아니라면 최적화는 실제로 적용되지 않습니다.“”또는“보다”B-Tree Index Operator Class의 전략 멤버.
젠 토토 함수를 만들 수 있으려면usage
인수 유형, 상태 유형 및 반환 유형에 대한 권한 및execute
지원 기능에 대한 특권.
이름
생성 할 젠 토토 함수의 이름 (선택적으로 스키마 자격).
Argmode
인수의 모드 :in
또는variadic
. (젠 토토 함수는 지원하지 않습니다Out
인수.) 생략하면 기본값은입니다.in
. 마지막 인수 만 표시 될 수 있습니다variadic
.
argname
인수의 이름. 이것은 현재 문서화 목적에만 유용합니다. 생략하면 인수의 이름이 없습니다.
arg_data_type
이 젠 토토 기능이 작동하는 입력 데이터 유형. 제로 학습 젠 토토 함수를 만들려면 쓰기*
인수 사양 목록 대신. (그러한 젠 토토의 예는count (*)
.)
base_type
기존 구문에서젠 토토 생성
, 입력 데이터 유형은 A에 의해 지정됩니다.BaseType
집계 이름 옆에 쓰여지지 않고 매개 변수입니다. 이 구문은 하나의 입력 매개 변수 만 허용합니다. 이 구문으로 제로 관점 집계 함수를 정의하려면를 지정하십시오.BaseType
as"Any"
(아님*
). 주문 세트 젠 토토는 이전 구문으로 정의 할 수 없습니다.
sfunc
각 입력 행에 대해 호출되는 상태 전환 함수의 이름. 정상n
--기간 젠 토토 함수,sfunc
가져 가야n
+1 인수, 첫 번째 유형의 존재state_data_type
그리고 젠 토토의 선언 된 입력 데이터 유형과 일치하는 나머지. 함수는 유형 값을 반환해야합니다state_data_type
. 이 함수는 현재 상태 값과 현재 입력 데이터 값을 취하고 다음 상태 값을 반환합니다.
순서 세트 (가상 세트 포함) 집계의 경우, 상태 전이 함수는 직접적인 인수가 아니라 현재 상태 값과 집계 된 인수 만받습니다. 그렇지 않으면 동일합니다.
state_data_type
젠 토토 상태 값의 데이터 유형.
state_data_size
집계 상태 값의 대략적인 평균 크기 (바이트). 이 매개 변수가 생략되었거나 0 인 경우 기본 추정치는에 따라 사용됩니다.state_data_type
. 플래너는이 값을 사용하여 그룹화 된 젠 토토 쿼리에 필요한 메모리를 추정합니다.
ffunc
모든 입력 행이 통과 한 후 집계 결과를 계산하기 위해 호출 된 최종 함수의 이름. 정상 집계의 경우이 기능은 유형의 단일 인수를 취해야합니다state_data_type
. 젠 토토의 반환 데이터 유형은이 함수의 리턴 유형으로 정의됩니다. 만약에ffunc
지정되지 않으면 종료 상태 값이 젠 토토 결과로 사용되며 리턴 유형은입니다.state_data_type
.
순서 세트 (가상 세트 포함) 응집체의 경우 최종 기능은 최종 상태 값뿐만 아니라 모든 직접 인수의 값도받습니다..
ifFinalFunc_extra
가 지정된 다음 최종 상태 값 및 직접 인수 외에도 최종 함수는 젠 토토의 일반 (젠 토토 된) 인수에 해당하는 추가 널 값을받습니다. 이것은 다형성 젠 토토가 정의 될 때 젠 토토 결과 유형의 올바른 해상도를 허용하는 데 주로 유용합니다.
FinalFunc_Modify
=read_only
| 공유 가능
| read_write
이 옵션은 최종 기능이 인수를 수정하지 않는 순수한 함수인지 지정합니다.read_only
는 그렇지 않음을 나타냅니다. 다른 두 값은 전이 상태 값을 변경할 수 있음을 나타냅니다. 보다노트30578_30619read_only
, 기본값이있는 순서 세트 젠 토토를 제외하고read_write
.
CombineFunc
theCombineFunc
함수가 부분 젠 토토를 지원할 수 있도록 함수는 선택적으로 지정 될 수 있습니다. 제공된 경우combinefunc
두 번 결합해야합니다state_data_type
값, 각각 입력 값의 일부 하위 집합에 대한 젠 토토 결과를 포함하여 새로운state_data_type
이것은 두 입력 세트를 젠 토토 한 결과를 나타냅니다. 이 기능은로 생각할 수 있습니다.sfunc
, 개별 입력 행에 작용하여 실행중인 젠 토토 상태에 추가하는 대신 다른 젠 토토 상태를 실행 상태에 추가합니다..
theCombineFunc
state_data_type
그리고 값을 반환state_data_type
. 선택적 으로이 함수는 일 수 있습니다.“엄격한”. 이 경우 입력 상태 중 하나가 NULL 일 때 함수는 호출되지 않습니다. 다른 상태는 올바른 결과로 간주됩니다.
젠 토토 함수의 경우state_data_type
is내부
,CombineFunc
엄격하지 않아야합니다. 이 경우CombineFunc
널 상태가 올바르게 처리되고 반환되는 상태가 집계 메모리 컨텍스트에 올바르게 저장되어 있는지 확인해야합니다.
SerialFunc
젠 토토 함수의state_data_type
is내부
a에만 병렬 젠 토토에 참여할 수 있습니다SerialFunc
함수, 젠 토토 상태를 A로 직렬화해야합니다BYTEA
다른 프로세스로의 전송 값. 이 기능은 유형의 단일 인수를 취해야합니다내부
및 리턴 유형BYTEA
. 해당deserialfunc
도 필요합니다.
deserialfunc
이전에 직렬화 된 젠 토토 상태를 다시 제외하고state_data_type
. 이 기능은 유형의 두 가지 인수를 취해야합니다BYTEA
and내부
, 유형의 결과를 생성내부
. (참고 : 두 번째,내부
인수는 사용되지 않지만 유형 안전 이유에는 필요합니다.)
Initial_Condition
상태 값의 초기 설정. 이것은 데이터 유형에 허용되는 양식의 문자열 상수 여야합니다state_data_type
. 지정되지 않으면 상태 값이 NULL에서 시작합니다.
msfunc
이동 응집 모드에서 각 입력 행에 대해 호출되는 전방 상태 전환 함수의 이름. 이것은 첫 번째 인수와 결과가 유형이라는 점을 제외하고는 일반 전환 기능과 똑같습니다.MSTATE_DATA_TYPE
state_data_type
.
minvfunc
이동 응집 모드에서 사용되는 역 상태 전이 함수의 이름. 이 함수는 동일한 인수와 결과 유형이와 동일합니다.msfunc
이지만 값을 추가하는 대신 현재 젠 토토 상태에서 값을 제거하는 데 사용됩니다. 역 전이 함수는 전방 상태 전환 함수와 동일한 엄격성 속성을 가져야합니다.
MSTATE_DATA_TYPE
이동 응집 모드를 사용할 때 젠 토토 상태 값의 데이터 유형.
mstate_data_size
이동 응집 모드를 사용할 때 집계 상태 값의 대략적인 평균 크기 (바이트). 이것은와 동일하게 작동합니다.state_data_size
.
mffunc
이동 응집 모드를 사용할 때 모든 입력 행이 트래버스 된 후 집계 결과를 계산하기 위해 호출 된 최종 함수의 이름. 이것은와 동일하게 작동합니다.ffunc
, 첫 번째 인수 유형이임을 제외하고는MSTATE_DATA_TYPE
그리고 엑스트라 더미 인수는 쓰기로 지정됩니다mfinalfunc_extra
. 에 의해 결정된 젠 토토 결과 유형mffunc
또는MSTATE_DATA_TYPE
젠 토토의 정기 구현에 의해 결정된 것과 일치해야합니다.
mfinalfunc_modify
=read_only
| 공유 가능
| read_write
이 옵션은FinalFunc_Modify
, 그러나 이동 최종 기능의 동작을 설명합니다.
minitial_condition
이동 응집 모드를 사용할 때 상태 값의 초기 설정. 이것은와 동일하게 작동합니다.Initial_Condition
.
Sort_Operator
a 관련 정렬 연산자Min
- 또는max
-같은 집계. 이것은 단지 연산자 이름입니다 (아마도 스키마 자격이있을 수 있음). 연산자는 집계와 동일한 입력 데이터 유형을 가지고 있다고 가정합니다 (단일 연계 정상 집계 여야합니다).
parallel =
안전
| 제한
| 안전하지 않은
의 의미Parallel Safe
, 병렬 제한
및병렬 불안한
기능 생성
. 표시된 경우 병렬화를 위해 젠 토토가 고려되지 않습니다병렬 불안한
(기본값입니다!) 또는병렬 제한
. 골재 지원 함수의 평행 안전 표시는 플래너가 문의하지 않고 집계 자체의 표시 만 참조합니다..
가상
순서 세트 집계에 대해서만,이 플래그는 집계 인수가 가상 세트 응집체에 대한 요구 사항에 따라 처리되어야 함을 지정합니다. 즉, 마지막 몇 가지 직접 인수는 집계 된 데이터 유형과 일치해야합니다 (.그룹 내
) 인수. 그만큼가상
플래그는 런타임 동작에 영향을 미치지 않으며, 데이터 유형의 구문 분석 시간 해결 및 집계 인수의 콜라이트에만 영향을 미치지 않습니다..
의 매개 변수젠 토토 생성
위에 표시된 순서뿐만 아니라 어떤 순서로든 작성할 수 있습니다.
지원 함수 이름을 지정하는 매개 변수에서 필요한 경우 스키마 이름을 쓸 수 있습니다 (예 :sfunc = public.sum
. 그러나 인수 유형을 작성하지 마십시오. 지원 기능의 인수 유형은 다른 매개 변수에서 결정됩니다.
일반적으로 PostgreSQL 함수는 입력 값을 수정하지 않는 실제 함수 일 것으로 예상됩니다. 그러나 골재 전이 함수젠 토토의 맥락에서 사용될 때, 전환 상태 논쟁을 속이고 수정할 수 있습니다. 이것은 매번 전환 상태의 새로운 사본을 만드는 것과 비교하여 상당한 성능 이점을 제공 할 수 있습니다.
마찬가지로, 젠 토토 최종 함수는 일반적으로 입력 값을 수정하지 않을 것으로 예상되는 반면, 전환 상태 인수를 수정하지 않는 것은 때로는 실용적이지 않습니다. 그러한 행동은를 사용하여 선언해야합니다.FinalFunc_Modify
매개 변수. 그만큼read_write
값은 최종 함수가 전이 상태를 지정되지 않은 방식으로 수정 함을 나타냅니다. 이 값은 윈도우 함수로 젠 토토를 사용하는 것을 방지하고 동일한 입력 값과 전환 함수를 공유하는 젠 토토 통화에 대한 전이 상태를 병합하는 것을 방지합니다. 그만큼공유 가능
값은 최종 함수 후에 전환 함수를 적용 할 수 없지만 종료 전환 상태 값에서 여러 최종 기능 호출을 수행 할 수 있음을 나타냅니다. 이 값은 윈도우 함수로 젠 토토를 사용하지 않지만 전이 상태를 병합 할 수 있습니다. (즉, 여기서 관심의 최적화는 동일한 최종 기능을 반복적으로 적용하지 않지만 동일한 결말 전환 상태 값에 다른 최종 함수를 적용합니다. 이는 최종 함수 중 어느 것도 표시되지 않는 한 허용됩니다read_write
.)
젠 토토가 이동 응집 모드를 지원하면 골재가 움직이는 프레임 시작이있는 창의 창 함수로 사용되면 계산 효율을 향상시킵니다 (즉, 프레임 시작 모드는미리 알려지지 않은
). 개념적으로, 순방향 전환 함수는 하단에서 창 프레임을 입력 할 때 입력 값을 집계 상태에 추가하고, 역 전이 함수는 프레임을 상단에두면 다시 제거합니다. 따라서 값이 제거되면 항상 추가 된 순서로 항상 제거됩니다. 역전 전이 함수가 호출 될 때마다 가장 빨리 추가되었지만 아직 제거되지 않은 인수 값이 수신됩니다. 역 전이 함수는 가장 오래된 행을 제거한 후 적어도 하나의 행이 현재 상태에 남아 있다고 가정 할 수 있습니다. (그렇지 않은 경우, 윈도우 함수 메커니즘은 역전 전이 함수를 사용하기보다는 단순히 새로운 집계를 시작합니다.)
이동 응집 모드의 순방향 전환 함수는 새로운 상태 값으로 NULL을 반환 할 수 없습니다. 역 전이 함수가 NULL을 반환하면 역 함수 가이 특정 입력에 대한 상태 계산을 역전시킬 수 없다는 표시로 간주되므로 총 계산은 현재 프레임 시작 위치에 대해 처음부터 다시 작성됩니다. 이 협약은 실행중인 상태 값을 뒤집어 놓는 데 실용적이지 않은 일부 드문 경우가있는 상황에서 이동 모드를 사용할 수 있습니다.
이동 응집 구현이 제공되지 않으면 젠 토토는 여전히 움직이는 프레임과 함께 사용할 수 있지만PostgreSQL프레임의 시작이 움직일 때마다 전체 젠 토토를 다시 컴퓨팅합니다. 젠 토토가 이동 응집 모드를 지원하는지 여부에 유의하십시오.PostgreSQL재 계산없이 움직이는 프레임 끝을 처리 할 수 있습니다. 이것은 젠 토토 상태에 새로운 값을 계속 추가하여 수행됩니다. 그렇기 때문에 창 함수로 젠 토토를 사용하는 이유는 최종 함수를 읽기 전용해야합니다. 골재의 상태 값을 손상시키지 않아야하므로 골재가 한 세트의 프레임 경계에 대해 골재 결과 값이 얻어진 후에도 젠 토토가 계속 될 수 있습니다..
순서 세트 집계의 구문이 허용variadic
마지막 직접 매개 변수와 마지막 집계 된 ( 모두에 대해 지정됩니다.그룹 내
) 매개 변수. 그러나 현재 구현은의 사용을 제한합니다.variadic
두 가지 방법으로. 첫째, 순서 세트 젠 토토는 만 사용할 수 있습니다Variadic "Any"
, 다른 변수 배열 유형이 아닙니다. 둘째, 마지막 직접 매개 변수가 인 경우variadic "any"
Variadic "Any"
. (시스템 카탈로그에 사용 된 표현 에서이 두 매개 변수는 단일로 병합됩니다Variadic "Any"
이후PG_PROC
하나 이상의 함수를 나타내지 않을 수 있습니다variadic
매개 변수.) 집계가 가상 세트 집계 인 경우와 일치하는 직접 인수Variadic "Any"
매개 변수는 가상의 것입니다. 앞의 모든 매개 변수는 집계 된 인수와 일치하도록 제한되지 않은 추가 직접 인수를 나타냅니다.
현재, 순서 세트 젠 토토는 창 함수로 사용할 수 없으므로 이동 응집 모드를 지원할 필요가 없습니다.
부분 (병렬 포함) 젠 토토는 현재 순서 세트 젠 토토에 대해 지원되지 않습니다. 또한 포함의 젠 토토 통화에는 결코 사용되지 않습니다.별도의
또는주문 by
조항, 부분적 젠 토토 중에 이러한 의미를 뒷받침 할 수 없기 때문에
젠 토토 생성
isPostgreSQL언어 확장. SQL 표준은 사용자 정의 젠 토토 함수를 제공하지 않습니다.