PgAdmin4函数创建向导中的「internal」语言是什么?
PostgreSQL函数中「internal」语言选项的说明
- 本质定位:「internal」是PostgreSQL内核内置的特殊语言标识,专门用来标记那些直接以C语言编写并编译进PostgreSQL核心的系统函数,并非供用户编写自定义函数的可用语言。
- PgAdmin4中显示的原因:函数创建向导会列出数据库中所有已注册的语言类型,「internal」是系统默认注册的语言条目,因此会出现在选项列表中,但普通用户无法用它创建自定义函数——若强行选择并提交代码,会触发报错,因为它不支持用户输入的代码文本。
- 文档中少见说明的原因:由于它是系统内部用于分类标识的机制,不属于用户日常开发会用到的函数语言(用户常用的是
plpgsql、sql、plpython3u等),因此PgAdmin官方文档不会将其作为用户操作的重点内容单独介绍。 - 验证方法:可通过查询系统表确认其属性,执行以下SQL命令:
查询结果会显示SELECT lanname, lanpltrusted, lancompiler FROM pg_language WHERE lanname = 'internal';internal的lanpltrusted为f(非可信语言),lancompiler为internal,进一步证明它是内核级的内置标识。
内容的提问来源于stack exchange,提问作者Chico_
相关产品推荐
相关产品推荐

