Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Funktionsreferenz für Trusted Language Extensions for Postgre SQL
Sehen Sie sich die folgende Referenzdokumentation zu den Funktionen an, die in Trusted Language Extensions for Postgre SQL verfügbar sind. Verwenden Sie diese Funktionen, um Ihre TLEErweiterungen, d. h. die Postgre-Erweiterungen, die Sie mit dem Trusted Language SQL Extensions Development Kit entwickeln, zu installieren, zu registrieren, zu aktualisieren und zu verwalten.
Funktionen
- pgtle.available_extensions
- pgtle.available_extension_versions
- pgtle.extension_update_paths
- pgtle.install_extension
- pgtle.install_update_path
- pgtle.register_feature
- pgtle.register_feature_if_not_exists
- pgtle.set_default_version
- pgtle.uninstall_extension(name)
- pgtle.uninstall_extension(name, version)
- pgtle.uninstall_extension_if_exists
- pgtle.uninstall_update_path
- pgtle.uninstall_update_path_if_exists
- pgtle.unregister_feature
- pgtle.unregister_feature_if_exists
pgtle.available_extensions
Die pgtle.available_extensions
-Funktion ist eine Mengenrückgabefunktion. Sie gibt alle verfügbaren TLE Erweiterungen in der Datenbank zurück. Jede zurückgegebene Zeile enthält Informationen zu einer einzelnen TLE Erweiterung.
Funktionsprototyp
pgtle.available_extensions()
Rolle
Keine.
Argumente
Keine.
Output
name
— Der Name der TLE Erweiterung.default_version
— Die Version der TLE Erweiterung, die verwendet werdenCREATE EXTENSION
soll, wenn sie ohne Angabe einer Version aufgerufen wird.description
— Eine detailliertere Beschreibung der TLE Erweiterung.
Verwendungsbeispiel
SELECT * FROM pgtle.available_extensions();
pgtle.available_extension_versions
Die available_extension_versions
-Funktion ist eine Mengenrückgabefunktion. Sie gibt eine Liste aller verfügbaren TLE Erweiterungen und ihrer Versionen zurück. Jede Zeile enthält Informationen zu einer bestimmten Version der angegebenen TLE Erweiterung, einschließlich der Frage, ob dafür eine bestimmte Rolle erforderlich ist.
Funktionsprototyp
pgtle.available_extension_versions()
Rolle
Keine.
Argumente
Keine.
Output
name
— Der Name der TLE Erweiterung.version
— Die Version der TLE Erweiterung.superuser
— Dieser Wert gilt immerfalse
für Ihre TLE Erweiterungen. Die Berechtigungen, die zum Erstellen oder Aktualisieren der TLE Erweiterung erforderlich sind, sind dieselben wie für das Erstellen anderer Objekte in der angegebenen Datenbank.trusted
— Dieser Wert gilt immerfalse
für eine TLE Erweiterung.relocatable
— Dieser Wert gilt immerfalse
für eine TLE Erweiterung.schema
— Gibt den Namen des Schemas an, in dem die TLE Erweiterung installiert ist.requires
— Ein Array, das die Namen anderer Erweiterungen enthält, die von dieser TLE Erweiterung benötigt werden.description
— Eine detaillierte Beschreibung der TLE Erweiterung.
Weitere Informationen zu Ausgabewerten finden Sie in der SQL Postgre-Dokumentation unter Zusammengehörige Objekte in eine Erweiterung verpacken > Erweiterungsdateien
Verwendungsbeispiel
SELECT * FROM pgtle.available_extension_versions();
pgtle.extension_update_paths
Die extension_update_paths
-Funktion ist eine Mengenrückgabefunktion. Sie gibt eine Liste aller möglichen Aktualisierungspfade für eine TLE Erweiterung zurück. Jede Zeile enthält die verfügbaren Upgrades oder Downgrades für diese TLE Erweiterung.
Funktionsprototyp
pgtle.extension_update_paths(name)
Rolle
Keine.
Argumente
name
— Der Name der TLE Erweiterung, von der Upgrade-Pfade abgerufen werden sollen.
Output
source
– Die Quellversion für eine Aktualisierung.target
– Die Zielversion für eine Aktualisierung.path
— Der Upgrade-Pfad, der verwendet wird, um eine TLE Erweiterung vonsource
target
Version zu Version zu aktualisieren,0.1--0.2
z. B.
Verwendungsbeispiel
SELECT * FROM pgtle.extension_update_paths('
your-TLE
');
pgtle.install_extension
Mit dieser install_extension
Funktion können Sie die Artefakte, aus denen Ihre TLE Erweiterung besteht, in der Datenbank installieren. Danach kann sie mit dem CREATE
EXTENSION
Befehl erstellt werden.
Funktionsprototyp
pgtle.install_extension(name text, version text, description text, ext text, requires text[] DEFAULT NULL::text[])
Rolle
Keine.
Argumente
name
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.version
— Die Version der TLE Erweiterung.description
— Eine detaillierte Beschreibung der TLE Erweiterung. Diese Beschreibung wird im Feldcomment
inpgtle.available_extensions()
angezeigt.ext
— Der Inhalt der TLE Erweiterung. Dieser Wert enthält Objekte wie Funktionen.requires
— Ein optionaler Parameter, der Abhängigkeiten für diese TLE Erweiterung angibt. Diepg_tle
-Erweiterung wird automatisch als Abhängigkeit hinzugefügt.
Viele dieser Argumente sind dieselben wie diejenigen, die in einer Erweiterungssteuerungsdatei für die Installation einer SQL Postgre-Erweiterung im Dateisystem einer Postgre-Instanz enthalten sind. SQL Weitere Informationen finden Sie in der SQLPostgre-Dokumentation unter „Verwandte Objekte zu einer Erweiterung verpacken“ unter Erweiterungsdateien
Output
Diese Funktion gibt bei Erfolg OK
und bei Fehler NULL
zurück.
OK
— Die TLE Erweiterung wurde erfolgreich in der Datenbank installiert.NULL
— Die TLE Erweiterung wurde nicht erfolgreich in der Datenbank installiert.
Verwendungsbeispiel
SELECT pgtle.install_extension( 'pg_tle_test', '0.1', 'My first pg_tle extension', $_pgtle_$ CREATE FUNCTION my_test() RETURNS INT AS $$ SELECT 42; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.install_update_path
Die install_update_path
Funktion stellt einen Aktualisierungspfad zwischen zwei verschiedenen Versionen einer TLE Erweiterung bereit. Diese Funktion ermöglicht es Benutzern Ihrer TLE Erweiterung, ihre Version mithilfe der ALTER EXTENSION ... UPDATE
Syntax zu aktualisieren.
Funktionsprototyp
pgtle.install_update_path(name text, fromvers text, tovers text, ext text)
Rolle
pgtle_admin
Argumente
name
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.fromvers
— Die Quellversion der TLE Erweiterung für das Upgrade.tovers
— Die Zielversion der TLE Erweiterung für das Upgrade.ext
– Der Inhalt der Aktualisierung. Dieser Wert enthält Objekte wie Funktionen.
Output
Keine.
Verwendungsbeispiel
SELECT pgtle.install_update_path('pg_tle_test', '0.1', '0.2', $_pgtle_$ CREATE OR REPLACE FUNCTION my_test() RETURNS INT AS $$ SELECT 21; $$ LANGUAGE SQL IMMUTABLE; $_pgtle_$ );
pgtle.register_feature
Die register_feature
Funktion fügt der Tabelle das angegebene interne SQL Postgre-Feature hinzu. pgtle.feature_info
SQLPostgre-Hooks sind ein Beispiel für eine interne SQL Postgre-Funktion. Das Trusted Language Extensions Development Kit unterstützt die Verwendung von SQL Postgre-Hooks. Derzeit unterstützt diese Funktion das folgende Feature.
passcheck
— Registriert den Passwort-Check-Hook bei Ihrer Prozedur oder Funktion, die das Verhalten von Postgre bei der Passwortprüfung anpasst. SQL
Funktionsprototyp
pgtle.register_feature(proc regproc, feature pg_tle_feature)
Rolle
pgtle_admin
Argumente
proc
– Der Name einer gespeicherten Prozedur oder Funktion, die für das Feature verwendet werden soll.feature
– Der Name despg_tle
-Features (z. B.passcheck
), das für die Funktion registriert werden soll.
Output
Keine.
Verwendungsbeispiel
SELECT pgtle.register_feature('pw_hook', 'passcheck');
pgtle.register_feature_if_not_exists
Die pgtle.register_feature_if_not_exists
Funktion fügt der pgtle.feature_info
Tabelle das angegebene SQL Postgre-Feature hinzu und identifiziert die TLE Erweiterung oder andere Prozedur oder Funktion, die das Feature verwendet. Weitere Informationen zu Haken und Trusted Language Extensions finden Sie unter Verwenden von SQL Postgre-Hooks mit Ihren Erweiterungen TLE.
Funktionsprototyp
pgtle.register_feature_if_not_exists(proc regproc, feature pg_tle_feature)
Rolle
pgtle_admin
Argumente
proc
— Der Name einer gespeicherten Prozedur oder Funktion, die die Logik (Code) enthält, die als Feature für Ihre TLE Erweiterung verwendet werden soll. Beispielsweise derpw_hook
-Code.feature
— Der Name der Postgre-Funktion, die für die SQL TLE Funktion registriert werden soll. Derzeit ist derpasscheck
-Haken das einzige verfügbare Feature. Weitere Informationen finden Sie unter Haken zur Passwortüberprüfung (Passcheck).
Output
Gibt true
zurück, nachdem das Feature für die angegebene Erweiterung registriert wurde. Gibt false
zurück, wenn das Feature bereits registriert ist.
Verwendungsbeispiel
SELECT pgtle.register_feature_if_not_exists('pw_hook', 'passcheck');
pgtle.set_default_version
Mit set_default_version
dieser Funktion können Sie a default_version
für Ihre TLE Erweiterung angeben. Sie können diese Funktion verwenden, um einen Upgrade-Pfad zu definieren und die Version als Standard für Ihre TLE Erweiterung festzulegen. Wenn Datenbankbenutzer Ihre TLE Erweiterung in den ALTER EXTENSION ... UPDATE
Befehlen CREATE EXTENSION
und angeben, wird diese Version Ihrer TLE Erweiterung in der Datenbank für diesen Benutzer erstellt.
Diese Funktion gibt bei Erfolg true
zurück. Wenn die im name
Argument angegebene TLE Erweiterung nicht existiert, gibt die Funktion einen Fehler zurück. In ähnlicher Weise gibt sie einen Fehler zurück, wenn die TLE Erweiterung nicht existiert. version
Funktionsprototyp
pgtle.set_default_version(name text, version text)
Rolle
pgtle_admin
Argumente
name
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.version
— Die Version der TLE Erweiterung, die als Standard festgelegt werden soll.
Output
true
– Wenn die Standardversion erfolgreich festgelegt wurde, gibt die Funktiontrue
zurück.ERROR
— Gibt eine Fehlermeldung zurück, wenn eine TLE Erweiterung mit dem angegebenen Namen oder der angegebenen Version nicht existiert.
Verwendungsbeispiel
SELECT * FROM pgtle.set_default_version('my-extension', '1.1');
pgtle.uninstall_extension(name)
Die uninstall_extension
Funktion entfernt alle Versionen einer TLE Erweiterung aus einer Datenbank. Diese Funktion verhindert, dass future CREATE EXTENSION
Aufrufe die TLE Erweiterung installieren. Wenn die TLE Erweiterung nicht in der Datenbank existiert, wird ein Fehler ausgelöst.
Die uninstall_extension
Funktion löscht keine TLE Erweiterung, die derzeit in der Datenbank aktiv ist. Um eine TLE Erweiterung zu entfernen, die derzeit aktiv ist, müssen Sie sie explizit aufrufen, DROP EXTENSION
um sie zu entfernen.
Funktionsprototyp
pgtle.uninstall_extension(extname text)
Rolle
pgtle_admin
Argumente
extname
— Der Name der zu deinstallierenden TLE Erweiterung. Dieser Name ist derselbe, der verwendet wurdeCREATE EXTENSION
, um die TLE Erweiterung für die Verwendung in einer bestimmten Datenbank zu laden.
Output
Keine.
Verwendungsbeispiel
SELECT * FROM pgtle.uninstall_extension('pg_tle_test');
pgtle.uninstall_extension(name, version)
Die uninstall_extension(name, version)
Funktion entfernt die angegebene Version der TLE Erweiterung aus der Datenbank. Diese Funktion verhindertCREATE
EXTENSION
, dass eine TLE Erweiterung installiert oder auf die angegebene Version aktualisiert wird. ALTER EXTENSION
Diese Funktion entfernt auch alle Aktualisierungspfade für die angegebene Version der TLE Erweiterung. Diese Funktion deinstalliert die TLE Erweiterung nicht, wenn sie derzeit in der Datenbank aktiv ist. Sie müssen die TLE Erweiterung explizit aufrufenDROP EXTENSION
, um sie zu entfernen. Informationen zum Deinstallieren aller Versionen einer TLE Erweiterung finden Sie unterpgtle.uninstall_extension(name).
Funktionsprototyp
pgtle.uninstall_extension(extname text, version text)
Rolle
pgtle_admin
Argumente
extname
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.version
— Die Version der TLE Erweiterung, die aus der Datenbank deinstalliert werden soll.
Output
Keine.
Verwendungsbeispiel
SELECT * FROM pgtle.uninstall_extension('pg_tle_test', '0.2');
pgtle.uninstall_extension_if_exists
Die uninstall_extension_if_exists
Funktion entfernt alle Versionen einer TLE Erweiterung aus einer bestimmten Datenbank. Wenn die TLE Erweiterung nicht existiert, kehrt die Funktion im Hintergrund zurück (es wird keine Fehlermeldung ausgegeben). Wenn die angegebene Erweiterung derzeit in einer Datenbank aktiv ist, wird sie von dieser Funktion nicht gelöscht. Sie müssen die TLE Erweiterung explizit aufrufenDROP EXTENSION
, um sie zu entfernen, bevor Sie diese Funktion zur Deinstallation ihrer Artefakte verwenden können.
Funktionsprototyp
pgtle.uninstall_extension_if_exists(extname text)
Rolle
pgtle_admin
Argumente
extname
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.
Output
Die uninstall_extension_if_exists
-Funktion gibt true
nach der Deinstallation der angegebenen Erweiterung zurück. Wenn die angegebene Erweiterung nicht vorhanden ist, gibt die Funktion false
zurück.
true
— Kehrttrue
nach der Deinstallation der TLE Erweiterung zurück.false
— Gibt zurückfalse
, wenn die TLE Erweiterung nicht in der Datenbank existiert.
Verwendungsbeispiel
SELECT * FROM pgtle.uninstall_extension_if_exists('pg_tle_test');
pgtle.uninstall_update_path
Die uninstall_update_path
Funktion entfernt den spezifischen Aktualisierungspfad aus einer TLE Erweiterung. Dadurch wird verhindert, dass ALTER EXTENSION ... UPDATE TO
diesen Pfad als Aktualisierungspfad verwendet.
Wenn die TLE Erweiterung derzeit von einer der Versionen auf diesem Aktualisierungspfad verwendet wird, verbleibt sie in der Datenbank.
Wenn der angegebene Aktualisierungspfad nicht vorhanden ist, gibt diese Funktion einen Fehler aus.
Funktionsprototyp
pgtle.uninstall_update_path(extname text, fromvers text, tovers text)
Rolle
pgtle_admin
Argumente
extname
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.fromvers
— Die Quellversion der TLE Erweiterung, die im Aktualisierungspfad verwendet wird.tovers
— Die Zielversion der TLE Erweiterung, die im Aktualisierungspfad verwendet wird.
Output
Keine.
Verwendungsbeispiel
SELECT * FROM pgtle.uninstall_update_path('pg_tle_test', '0.1', '0.2');
pgtle.uninstall_update_path_if_exists
Die uninstall_update_path_if_exists
Funktion ähnelt uninstall_update_path
insofern, als sie den angegebenen Aktualisierungspfad aus einer TLE Erweiterung entfernt. Wenn der Aktualisierungspfad jedoch nicht existiert, löst diese Funktion keine Fehlermeldung aus. Stattdessen gibt die Funktion false
zurück.
Funktionsprototyp
pgtle.uninstall_update_path_if_exists(extname text, fromvers text, tovers text)
Rolle
pgtle_admin
Argumente
extname
— Der Name der TLE Erweiterung. Dieser Wert wird beim Aufrufen vonCREATE EXTENSION
verwendet.fromvers
— Die Quellversion der TLE Erweiterung, die im Aktualisierungspfad verwendet wird.tovers
— Die Zielversion der TLE Erweiterung, die im Aktualisierungspfad verwendet wird.
Output
true
— Die Funktion hat den Pfad für die TLE Erweiterung erfolgreich aktualisiert.false
— Die Funktion konnte den Pfad für die TLE Erweiterung nicht aktualisieren.
Verwendungsbeispiel
SELECT * FROM pgtle.uninstall_update_path_if_exists('pg_tle_test', '0.1', '0.2');
pgtle.unregister_feature
Die unregister_feature
-Funktion bietet eine Möglichkeit, Funktionen zu entfernen, die für die Verwendung von pg_tle
-Features wurden, wie z. B. Haken. Weitere Informationen zur Registrierung eines Features erhalten Sie unter pgtle.register_feature.
Funktionsprototyp
pgtle.unregister_feature(proc regproc, feature pg_tle_features)
Rolle
pgtle_admin
Argumente
proc
– Der Name einer gespeicherten Funktion, für die einpg_tle
-Feature registriert werden soll.feature
– Der Name despg_tle
-Features, das für die Funktion registriert werden soll. Beispielsweise istpasscheck
ein Feature, das für die Verwendung durch die vertrauenswürdigen Spracherweiterungen, die Sie entwickeln, registriert werden kann. Weitere Informationen finden Sie unter Haken zur Passwortüberprüfung (Passcheck).
Output
Keine.
Verwendungsbeispiel
SELECT * FROM pgtle.unregister_feature('pw_hook', 'passcheck');
pgtle.unregister_feature_if_exists
Die unregister_feature
-Funktion bietet eine Möglichkeit, Funktionen zu entfernen, die für die Verwendung von pg_tle
-Features wurden, wie z. B. Haken. Weitere Informationen finden Sie unter Verwenden von SQL Postgre-Hooks mit Ihren Erweiterungen TLE. Gibt true
zurück, nachdem die Registrierung der Funktion erfolgreich aufgehoben wurde. Gibt false
zurück, wenn das Feature nicht registriert wurde.
Hinweise zur Registrierung von pg_tle
Funktionen für Ihre TLE Erweiterungen finden Sie unterpgtle.register_feature.
Funktionsprototyp
pgtle.unregister_feature_if_exists('proc regproc', 'feature pg_tle_features')
Rolle
pgtle_admin
Argumente
proc
– Der Name der gespeicherten Funktion, für die einpg_tle
-Feature registriert wurde.feature
– Der Name despg_tle
-Features, das mit der vertrauenswürdigen Spracherweiterung registriert wurde.
Output
Gibt true
oder false
wie folgt zurück.
true
– Die Funktion hat die Registrierung des Features in der Erweiterung erfolgreich aufgehoben.false
— Die Funktion konnte die Registrierung der Funktion für die TLE Erweiterung nicht aufheben.
Verwendungsbeispiel
SELECT * FROM pgtle.unregister_feature_if_exists('pw_hook', 'passcheck');