|
CREATE LANGUAGE描述使用 CREATE LANGUAGE , 一个 PostgreSQL 用户可以在 PostgreSQL 里注册一个新的语言. 因而,函数和触发器过程可以用这种新语言定义.要注册新 语言用户必须具有 PostgreSQL 超级用户权限. CREATE LANGUAGE 将该语言的名字和一个调用句柄 关联起来,而该调用句柄负责执行该语言书写的函数. 请参考 程序员手册 获取有关语言调用句柄的 更多信息. 请注意过程语言是对每个独立的数据库而言是自己的. 要让一种语言缺省时可以为所有数据库获得,那你应该把它安装到 template1 数据库里. 参数
注意这条命令通常不应该由用户直接执行. 对于 PostgreSQL 版本里提供的过程语言, 我们应该使用 createlang 脚本, 它将为我们安装正确的调用句柄. ( createlang 也会在内部调用 CREATE LANGUAGE .) 使用 CREATE FUNCTION 命令创建新函数. 使用 DROP LANGUAGE ,或者更好是 droplang 脚本删除一个过程语言. 系统表 pg_language 记录了更多有关 当前安装的过程语言的信息. Table "pg_language" Attribute | Type | Modifier ---------------+---------+---------- lanname | name | lanispl | boolean | lanpltrusted | boolean | lanplcallfoid | oid | lancompiler | text | lanname | lanispl | lanpltrusted | lanplcallfoid | lancompiler -------------+---------+--------------+---------------+------------- internal | f | f | 0 | n/a C | f | f | 0 | /bin/cc sql | f | f | 0 | postgres
目前,一种过程语言创建之后它的定义就不能再更改. |