Jer*_*acs 6 postgresql plpgsql functions postgresql-8.4 postgresql-extensions
我有一个安装程序,需要 plpgsql 在 PostgreSQL 8.4 数据库中安装存储过程。我需要确保安装了语言,否则应用程序将失败。我不想放弃语言并重新添加它,因为这可能会搞砸其他一些事情。
有没有办法“轻轻”安装语言?
CREATE LANGUAGE IF NOT EXISTS
似乎无效。
在 PostgreSQL 9.0及更高版本中,PL/pgSQL 是默认预装的。
9.0 版还引入了CREATE OR REPLACE LANGUAGE
:
CREATE OR REPLACE LANGUAGE
将创建一种新语言,或替换现有定义。如果该语言已存在,则根据指定的值或从pg_pltemplate
...中获取的值更新其参数 。
为避免在旧版本上引发异常,您可以检查目录表pg_language
。我再次引用手册:
系统目录 pg_language [...] 记录有关当前安装的语言的信息。
SELECT EXISTS (
SELECT 1
FROM pg_language
WHERE lanname = 'plpgsql');
Run Code Online (Sandbox Code Playgroud)
或者使用客户端应用程序createlang
,它可以选择检查现有语言:
createlang -l [connection parameters]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4514 次 |
最近记录: |