| PostgreSQL: Das Offizielle Handbuch | ||||
|---|---|---|---|---|
| Zurück | Schnell zurück | Schnell nach vorne | Nach vorne | |
CREATE [DEFAULT] CONVERSION konversionsname
FOR quellkodierung TO zielkodierung FROM funktionsnameCREATE CONVERSION definiert eine neue Zeichensatzkonversion, das heißt eine Umwandlung von einer Zeichensatzkodierung in eine andere. Konversionsnamen können in der Funktion convert verwendet werden. Eine Konversion, die als DEFAULT markiert wurde, kann auch für die automatische Zeichensatzumwandlung zwischen Client und Server verwendet werden. Dazu müssen zwei Konversionen definiert werden, eine von Kodierung A nach B und eine von Kodierung B nach A.
Um eine Konversion erzeugen zu können, müssen Sie das Privileg EXECUTE für die Funktion und das Privileg CREATE für das Zielschema haben.
Die DEFAULT-Klausel gibt an, dass diese Konversion die Standardkonversion für dieses Kodierungspaar ist. Es sollte in jedem Schema nur eine Standardkonversion pro Kodierungspaar geben.
Der Name der Konversion. Der Konversionsname kann eine Schemaqualifikation haben. Wenn nicht, dann wird die Konversion im aktuellen Schema definiert. Der Konversionsname muss im Schema einmalig sein.
Der Name der Quellkodierung.
Der Name der Zielkodierung.
Die Funktion, die die Konversion durchführen soll. Der Funktionsname kann eine Schemaqualifikation haben. Wenn nicht, dann wird die Funktion im Pfad gesucht werden.
Die Funktion muss folgende Signatur haben:
funktion(
integer, -- Quellkodierungsnummer
integer, -- Zielkodierungsnummer
cstring, -- Quellzeichenkette (C-Zeichenkette mit Null-Byte am Ende)
cstring, -- Zielzeichenkette (C-Zeichenkette mit Null-Byte am Ende)
integer -- Länge der Quellzeichenkette
) RETURNS void;
Um eine Konversion von der Kodierung UNICODE in LATIN1 zu definieren, die durch die Funktion meine_funktion durchgeführt wird:
CREATE CONVERSION meine_konv FOR 'UNICODE' TO 'LATIN1' FROM meine_funktion;
| Zurück | Zum Anfang | Nach vorne |
| CREATE CONSTRAINT TRIGGER | Nach oben | CREATE DATABASE |