36.3. 사용자 정의 함수

PostgreSQL 에서는 다음과 같이 네가지 종류의 함수를 지원한다:

모든 함수는 그 인자 (매개 변수)로 기본 자료형, 복합 자료형, 또는 그 조합을 사용할 수 있다. 아울러 모든 함수는 기본 자료형이나 복합 자료형을 반환할 수 있다. 또, 함수는 이 반환을 집합 형태로(레코드 집합) 반환할 수 있다.

많은 종류의 함수들은 의사 자료형(다각형 자료형 같은)을 인자로 쓰거나 반환할 수도 있지만, 그 구현 방법이 다양하다. 자세한 내용은 각 종류별 함수 설명에서 다룬다.

SQL로 만드는 함수가 제일 쉽다. 여기서는 이 함수에 대한 이야기로 시작한다. SQL 함수에 대한 기본적인 이야기는 대부분의 다른 형태의 함수들에서도 그대로 적용 된다.

이 장에 이어서, 여기서 다루고 있는 부분을 좀 더 빠르게 이해하려면 CREATE FUNCTION 명령의 설명을 살펴보는 것도 좋다. 여기서 다루는 몇몇 예제들은 PostgreSQL 소스 디렉터리 안 src/tutorialfuncs.sql, funcs.c 파일에서 찾을 수 있다.