Provided by: manpages-zh_1.5.1-2_all bug

NAME

       CREATE CONVERSION - 定义一个用户定义的码制转换

SYNOPSIS

       CREATE [DEFAULT] CONVERSION name
           FOR source_encoding TO dest_encoding FROM funcname

DESCRIPTION述
       CREATE  CONVERSION  定义一种新的编码转换。  转换的名字可以用在  convert
       函数内部声明特定的编码转换。            同样,标记为            DEFAULT
       的转换可以用于在前端和后端之间的自动编码转换。               出于这个-
       因,我们必须定义两种转换,从编码 A 到 B 以及从编码 B 到 A。

        为了可以创建转换,你必须在函数上有EXECUTE权限并且有在目标模式上的CREATE权限。

PARAMETERS数
       DEFAULT
              DEFAULT
              子句表示这种转换对于从这种源编码到目的编码的情况是缺省的。在一个模式里每个编码对应该只有一个缺省编码。

       name
              转换的名字。转换名可以用模式修饰。如果没有,那么转换就在当前模式中定义。转换名在一个模式里必须唯一。

       source_encoding
               源编码名。

       dest_encoding
               目的编码名。

       funcname
               用于执行转换的函数。这个函数名可以用模式名修饰。
              如果没有,那么将从路径中找出这个函数。

               此函数必须有如下的样子:

              conv_proc(
                  integer,  -- 源编码 ID
                  integer,  -- 目的编码 ID
                  cstring,  -- 源字串(空结尾的 C 字串)
                  cstring,  -- 目的字串(空结尾的 C 字串)
                  integer   -- 源字串长度
              ) RETURNS void;

NOTES意
        使用 DROP CONVERSION 删除用户定义的转换。

        创建转换所需要的权限可能在未来的版本中改变。

EXAMPLES子
        用 myfunc 创建一个从编码 UNICODE 到 LATIN1 的转换:

       CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;

COMPATIBILITY性
       CREATE  CONVERSION  是  PostgreSQL  的扩展。  在  SQL  标准里没有CREATE
       CONVERSION 语句。

SEE ALSO见
       ALTER     CONVERSION     [alter_conversion(7)],     CREATE     FUNCTION
       [create_function(l)], DROP CONVERSION [drop_conversion(l)]

者
       Postgresql  <laser@pgsqldb.org>