為 SQL 語言增加控制結構,
可以執行複雜的計算,
繼承所有用戶定義型態,函數和符號,
可以定義為被伺服器信任(的語言),
容易使用。
對於函數裡用到的所有表達式和 SQL 語句,PL/pgSQL 字節碼解析器使用 SPI 管理器 SPI_prepare() 和 SPI_saveplan() 函數創建一個準備好了的執行規劃。這些動作是在(解析器)第一次處理時完成的,獨立的語句是在 PL/pgSQL 函數裡面處理的。因此,一個帶有條件程式碼的有許多語句的需要執行規劃的函數,將只準備和保存那些在整個資料庫聯接周期內真正使用到的規劃。
除了用於用戶定義型態的輸入/輸出轉換和計算函數以外,任何可以在 C 語言函數裡定義的東西都可以在 PL/pgSQL 裡使用。我們可以創建複雜的條件計算函數,並隨後將之用於定義符號或者用於函數索引中。