2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

36.9. 內部函式 #

內部函式是使用 C 語言編寫並已靜態連結到 PostgreSQL 伺服器中的函式。函式定義中的“主體”指定了函式的 C 語言名稱,該名稱不必與用於 SQL 的宣告名稱相同。(出於向後相容性的原因,接受空主體表示 C 語言函式名與 SQL 名稱相同。)

通常,伺服器中存在的所有內部函式都在資料庫叢集初始化期間宣告(參見 第 18.2 節),但是使用者可以使用 CREATE FUNCTION 為內部函式建立額外的別名。內部函式在 CREATE FUNCTION 中以語言名稱 internal 宣告。例如,要為 sqrt 函式建立別名

CREATE FUNCTION square_root(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

(大多數內部函式都期望被宣告為“嚴格”(strict)。)

注意

並非所有“預定義”函式都具有上述意義上的“內部”函式。一些預定義函式是用 SQL 編寫的。

提交更正

如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表單 報告文件問題。