CREATE CONVERSION
SQL - Language Statements
CREATE CONVERSION
define a user-defined conversion
CREATE [DEFAULT] CONVERSION conversion_name
FOR source_encoding
TO dest_encoding FROM funcname
Description
CREATE CONVERSION defines a new encoding
conversion. There are two kinds of conversions. A default
conversion is used for an automatic encoding conversion between
frontend and backend. There should be only one default conversion
for source/destination encodings pair in a schema. None default
conversion never be used for the automatic conversion. Instead it
can be used for CONVERT() function.
To be able to create a conversion, you must have the execute right
on the function and the usage right on the schema the function
belongs to.
Parameters
DEFAULT
The DEFAULT> clause indicates that this conversion
is the default for this particular source to destination
encoding. There should be only one default encoding in a schema
for the encoding pair. A default encoding can be used for not
only CONVERT() function, but also for the automatic encoding
conversion between frontend and backend. For this purpose, two
conversions, from encoding A to B AND encoding B to A, must be
defined.
conversion_name
The name of the conversion. The conversion name may be
schema-qualified. If it is not, a conversion is defined in the
current schema. The conversion name must be unique with in a
schema.
source_encoding
The source encoding name.
source_encoding
The destination encoding name.
funcname
The function used to perform the conversion. The function name may
be schema-qualified. If it is not, the function will be looked
up in the path.
The function must have following signature:
conv_proc(
INTEGER, -- source encoding id
INTEGER, -- destination encoding id
CSTRING, -- source string (null terminated C string)
CSTRING, -- destination string (null terminated C string)
INTEGER -- source string length
) returns VOID;
Notes
Use DROP CONVERSION to remove user-defined conversions.
The privileges required to create a conversion may be changed in a future
release.
Examples
To create a conversion from encoding UNICODE to LATIN1 using myfunc>:
CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;
Compatibility
CREATE CONVERSION
is a PostgreSQL extension.
There is no CREATE CONVERSION
statement in SQL99.
See Also
,
,
PostgreSQL Programmer's Guide