CREATE CONVERSION(7)

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>

跋
本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh