Funktionsreferenz für Trusted Language Extensions for Postgre SQL - Amazon Relational Database Service

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.

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 werden CREATE 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 immer false 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 immer false für eine TLE Erweiterung.

  • relocatable— Dieser Wert gilt immer false 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 von source 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 von CREATE EXTENSION verwendet.

  • version— Die Version der TLE Erweiterung.

  • description— Eine detaillierte Beschreibung der TLE Erweiterung. Diese Beschreibung wird im Feld comment in pgtle.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. Die pg_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 von CREATE 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 des pg_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 der pw_hook-Code.

  • feature— Der Name der Postgre-Funktion, die für die SQL TLE Funktion registriert werden soll. Derzeit ist der passcheck-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 von CREATE EXTENSION verwendet.

  • version— Die Version der TLE Erweiterung, die als Standard festgelegt werden soll.

Output

  • true– Wenn die Standardversion erfolgreich festgelegt wurde, gibt die Funktion true 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 von CREATE 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 von CREATE 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— Kehrt true 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 von CREATE 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 von CREATE 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 ein pg_tle-Feature registriert werden soll.

  • feature – Der Name des pg_tle-Features, das für die Funktion registriert werden soll. Beispielsweise ist passcheck 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 ein pg_tle-Feature registriert wurde.

  • feature – Der Name des pg_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');