토토 베이/PGSQL은에 대한로드 가능한 절차 언어입니다.Postgres데이터베이스 시스템.
이 패키지는 원래 Jan Wieck에 의해 작성되었습니다.
토토 베이/PGSQL의 디자인 목표는로드 가능한 것을 만드는 것이 었습니다. 절차 언어
함수 및 트리거 절차를 생성하는 데 사용될 수 있습니다.
제어 구조 추가SQL언어,
복잡한 계산을 수행 할 수 있습니다
모든 사용자 정의 유형, 함수를 상속합니다 운영자,
서버에서 신뢰할 수 있도록 정의 할 수 있습니다.
사용하기 쉽습니다.
PL/PGSQL 호출 핸들러는 함수 소스 텍스트를 구문 분석하고 처음으로 내부 이진 명령 트리를 생성합니다. 기능은 백엔드에 의해 호출됩니다. 생성 된 바이트 코드는입니다 함수의 객체 ID에 의해 호출 핸들러에서 식별되었습니다. 이것은 드롭/생성 시퀀스로 기능을 변경합니다. 새 데이터베이스를 설정하지 않고 적용됩니다 연결.
모든 표현 및SQL함수에 사용 된 진술, pl/pgsql 바이트 코드 통역사 SPI 관리자를 사용하여 준비된 실행 계획을 만듭니다 spi_prepare () 및 spi_saveplan () 함수. 이것은 첫 번째로 이루어집니다 시간, 개별 진술은 PL/PGSQL에서 처리됩니다 기능. 따라서 많은 것을 포함하는 조건부 코드가있는 함수 실행 계획이 필요한 진술은 전체 동안 실제로 사용되는 계획을 준비하고 저장하십시오. 데이터베이스 연결의 수명.
입력/출력-수정 및 계산 함수를 제외하고 사용자 정의 유형의 경우 C 언어로 정의 할 수있는 모든 것 기능은 PL/PGSQL로 수행 할 수도 있습니다. 만들 수 있습니다 복잡한 조건부 계산 기능을 사용하고 나중에 사용합니다 연산자를 정의하거나 기능 지수에서 사용하십시오.