PostgreSQL-Erweiterungen in Azure Cosmos DB for PostgreSQL

GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)

PostgreSQL bietet die Möglichkeit, die Funktionalität Ihrer Datenbank mithilfe von Erweiterungen zu erweitern. Durch Erweiterungen können mehrere SQL-bezogene Objekte zu einem einzigen Paket gebündelt und über einen einzigen Befehl in die Datenbank geladen oder aus dieser entfernt werden. Nach dem Laden in die Datenbank können Erweiterungen ebenso wie integrierte Features funktionieren. Weitere Informationen zu PostgreSQL-Erweiterungen finden Sie unter Packen von zugehörigen Objekten in einer Erweiterung.

Verwenden von PostgreSQL-Erweiterungen

Bevor Sie PostgreSQL-Erweiterungen verwenden können, müssen diese in Ihrer Datenbank installiert werden. Um eine bestimmte Erweiterung zu installieren, führen Sie zum Laden der gepackten Objekte in Ihrer Datenbank den Befehl CREATE EXTENSION über das psql-Tool aus.

Hinweis

Wenn bei CREATE EXTENSION der Fehler „Berechtigung verweigert“ auftritt, probieren Sie stattdessen die create_extension()-Funktion aus. Zum Beispiel:

SELECT create_extension('postgis');

Eine auf diese Weise installierte Erweiterung kann mithilfe von drop_extension() entfernt werden.

Azure Cosmos DB for PostgreSQL unterstützt einen Teil der wichtigsten hier aufgeführten Erweiterungen. Andere Erweiterungen als die aufgelisteten Erweiterungen werden nicht unterstützt. Mit Azure Cosmos DB for PostgreSQL können keine eigenen Erweiterungen erstellt werden.

Unterstützte Erweiterungen in Azure Cosmos DB for PostgreSQL

In den folgenden Tabellen werden die PostgreSQL-Standarderweiterungen aufgeführt, die von Azure Cosmos DB for PostgreSQL unterstützt werden. Sie können diese Informationen auch abrufen, indem Sie SELECT * FROM pg_available_extensions; ausführen.

Die Versionen der einzelnen Erweiterungen, die in einem Cluster installiert sind, unterscheiden sich in manchen Fällen je nach PostgreSQL-Version (11, 12, 13, 14, 15 oder 16). Die Tabellen enthalten Erweiterungsversionen pro Datenbankversion.

Citus-Erweiterung

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citus Von Citus verteilte Datenbank. 9.5 10.2 11,3 12.1 12.1 12.1

Datentypenerweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
citext Gibt einen Zeichenfolgentyp an, bei dem Groß-/Kleinschreibung beachtet werden muss. 1.5 1.6 1.6 1.6 1.6 1.6
cube Stellt einen Datentyp für mehrdimensionale Cubes bereit. 1.4 1.4 1.4 1.5 1.5 1.5
hll Stellt eine HyperLogLog-Datenstruktur bereit. 2,18 2,18 2,18 2,18 2,18 2,18
hstore Gibt den Datentyp zum Speichern von Schlüssel-Wert-Paaren an. 1.5 1.6 1.7 1.8 1.8 1.8
isn Stellt Datentypen für internationale Produktnummerierungsnormen bereit. 1.2 1.2 1.2 1.2 1.2 1.2
lo Large Object-Wartung. 1.1 1.1 1.1 1.1 1.1 1.1
ltree Stellt einen Datentyp für hierarchische baumähnliche Strukturen bereit. 1.1 1.1 1.2 1.2 1.2 1.2
seg Datentyp für die Darstellung von Liniensegmenten oder Gleitkommaintervallen. 1.3 1.3 1.3 1.4 1.4 1.4
tdigest Datentyp für die Onlineakkumulation von rangbasierten Statistiken wie Quantilen und gekürzten Mittelwerten 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1 1.4.1
topn Typ für Erste N-JSONB. 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0 2.6.0

Erweiterungen für die Volltextsuche

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
dict_int Bietet eine Textsuch-Wörterbuchvorlage für Integerwerte. 1.0 1.0 1.0 1.0 1.0 1.0
dict_xsyn Wörterbuchvorlage für die Textsuche für die erweiterte Verarbeitung von Synonymen. 1.0 1.0 1.0 1.0 1.0 1.0
unaccent Ein Wörterbuch für die Textsuche, das Akzente (diakritische Zeichen) aus Lexemen entfernt 1.1 1.1 1.1 1.1 1.1 1.1

Funktionserweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 15
autoinc Funktionen für die automatische Inkrementierung von Feldern. 1.0 1.0 1.0 1.0 1.0 1.0
earthdistance Bietet eine Möglichkeit, Großkreisentferungen auf der Erdoberfläche zu berechnen. 1.1 1.1 1.1 1.1 1.1 1.1
fuzzystrmatch Stellt mehrere Funktionen bereit, um Ähnlichkeiten und den Abstand zwischen Zeichenfolgen zu ermitteln 1.1 1.1 1.1 1.1 1.1 1.2
insert_username Funktionen, um nachzuverfolgen, welcher Benutzer Änderungen in einer Tabelle vorgenommen hat. 1.0 1.0 1.0 1.0 1.0 1.0
intagg Integeraggregator und -enumerator (veraltet). 1.1 1.1 1.1 1.1 1.1 1.1
intarray Stellt Funktionen und Operatoren bereit, um Arrays mit Ganzzahlen ohne Nullen zu bearbeiten 1.2 1.2 1.3 1.5 1.5 1.5
moddatetime Funktionen zur Verfolgung der letzten Änderungszeit. 1.0 1.0 1.0 1.0 1.0 1.0
orafce Funktionen und Operatoren zum Emulieren einer Teilmenge mit Funktionen und Paketen aus der Oracle RDBMS. 4,9 4,9 4,9
pg_partman Verwaltet partitionierte Tabellen nach Zeit oder ID 4.7.4 4.7.4 4.7.4 5.0.0 5.0.0 5.0.0
pg_surgery Funktionen zur Durchführung einer Operation an einer beschädigten Verhältnis. 1.0 1.0 1.0
pg_trgm Stellt Funktionen und Operatoren bereit, um die Ähnlichkeit von alphanumerischen Texten basierend auf übereinstimmenden Trigrammen zu ermitteln 1.4 1.4 1.5 1.6 1.6 1.6
pgcrypto Stellt kryptografische Funktionen bereit 1.3 1.3 1.3 1.3 1.3 1.3
refint Funktionen für die Implementierung referentieller Integrität (veraltet). 1.0 1.0 1.0 1.0 1.0 1.0
tablefunc Stellt Funktionen bereit, um ganze Tabellen einschließlich einer Kreuztabelle zu bearbeiten. 1.0 1.0 1.0 1.0 1.0 1.0
tcn Ausgelöste Änderungsbenachrichtigungen. 1.0 1.0 1.0 1.0 1.0 1.0
timetravel Funktionen für die Implementierung von Zeitreisen. 1.0
uuid-ossp Generiert universell eindeutige Bezeichner (UUIDs) 1.1 1.1 1.1 1.1 1.1 1.1

Indextypenerweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
bloom Bloom-Zugriffsmethode: Index, der auf einer Signaturdatei basiert. 1.0 1.0 1.0 1.0 1.0 1.0
btree_gin Gibt Beispielklassen für den GIN-Operator an, der das B-Struktur-ähnliche Verhalten für bestimmte Datentypen implementiert. 1.3 1.3 1.3 1.3 1.3 1.3
btree_gist Gibt Operatorklassen für den GiST-Index an, der die B-Struktur implementiert 1.5 1.5 1.5 1.6 1.7 1.7

Spracherweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
plpgsql Ladbare prozedurale Sprache, PL/pgSQL. 1.0 1.0 1.0 1.0 1.0 1.0

Verschiedene Erweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
amcheck Funktionen zum Überprüfen der Beziehungsintegrität. 1.1 1.2 1.2 1.3 1.3 1.3
dblink Ein Modul, das Verbindungen mit anderen PostgreSQL-Datenbanken innerhalb einer Datenbanksitzung unterstützt Weitere Informationen zu dieser Erweiterung finden Sie im Abschnitt „dblink und postgres_fdw“. 1.2 1.2 1.2 1.2 1.2 1.2
old_snapshot Ermöglicht die Überprüfung des Serverstatus, der zur Implementierung von old_snapshot_threshold verwendet wird. 1.0 1.0
pageinspect Überprüfen Sie den Inhalt von Datenbankseiten auf niedriger Ebene. 1.7 1.7 1.8 1.9 1.11 1.12
pg_azure_storage Azure-Integration für PostgreSQL. 1.3 1.3 1.3 1.3
pg_buffercache Bietet eine Möglichkeit, um die Vorgänge im freigegebenen Puffercache in Echtzeit mitzuverfolgen 1.3 1.3 1.3 1.3 1.3 1.4
pg_cron Auftragsplaner für PostgreSQL. 1.5 1.5 1.5 1.5 1.5 1.5
pg_freespacemap Untersuchen von free space map (FSM). 1.2 1.2 1.2 1.2 1.2 1.2
pg_prewarm Bietet eine Möglichkeit, um Relationsdaten in den Puffercache zu laden 1.2 1.2 1.2 1.2 1.2 1.2
pg_stat_statements Bietet eine Möglichkeit, um Ausführungsstatistiken zu allen SQL-Anweisungen nachzuverfolgen, die von einem Server ausgeführt werden Weitere Informationen zu dieser Erweiterung finden Sie im Abschnitt „pg_stat_statements“. 1.6 1.7 1.8 1.9 1.10 1.10
pg_visibility Überprüft die Informationen zur Zuordnung von Sichtbarkeiten (Visibility Map, VM) und Informationen zur Sichtbarkeit auf Seitenebene. 1.2 1.2 1.2 1.2 1.2 1.2
pgrowlocks Bietet eine Möglichkeit zum Anzeigen von Sperrinformationen auf Zeilenebene. 1.2 1.2 1.2 1.2 1.2 1.2
pgstattuple Bietet eine Möglichkeit zum Anzeigen von Statistiken auf Tupelebene. 1.5 1.5 1.5 1.5 1.5 1.5
postgres_fdw Wrapper für programmfremde Daten, um auf in externen PostgreSQL-Servern gespeicherten Daten zuzugreifen Weitere Informationen zu dieser Erweiterung finden Sie im Abschnitt „dblink und postgres_fdw“. 1.0 1.0 1.0 1.1 1.1 1.1
sslinfo Informationen zu TLS-/SSL-Zertifikaten 1.2 1.2 1.2 1.2 1.2 1.2
tsm_system_rows TABLESAMPLE-Methode, die die Anzahl von Zeilen als Grenzwert akzeptiert. 1.0 1.0 1.0 1.0 1.0 1.0
tsm_system_time TABLESAMPLE-Methode, die die Zeit in Millisekunden als Grenzwert akzeptiert. 1.0 1.0 1.0 1.0 1.0 1.0
xml2 XPath-Abfrage und XSLT. 1.1 1.1 1.1 1.1 1.1 1.1

Pgvector-Erweiterung

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
pgvector Open-Source-Vektorähnlichkeitssuche für Postgres 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1 0.5.1

PostGIS-Erweiterungen

Erweiterung Beschreibung PG 11 PG 12 PG 13 PG 14 PG 15 PG 16
PostGIS Räumliche und geografische Objekte für PostgreSQL 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
address_standardizer Wird verwendet, um eine Adresse in dessen zugehörige Elemente zu analysieren. Wird als Unterstützung für den Normalisierungsschritt zur Geocodierung von Adressen verwendet. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_sfcgal PostGIS SFCGAL-Funktionen. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0
postgis_topology Räumliche PostGIS-Topologietypen und -funktionen. 3.3.4 3.4.0 3.4.0 3.4.0 3.4.0 3.4.0

pg_stat_statements

Die Erweiterung „pg_stat_statements“ wird in jedem Azure Cosmos DB for PostgreSQL-Cluster vorab geladen, um für Sie eine Möglichkeit zur Nachverfolgung von Ausführungsstatistiken von SQL-Anweisungen zu schaffen.

Mit der pg_stat_statements.track-Einstellung wird gesteuert, welche Anweisungen von der Erweiterung gezählt werden. Der Standardwert ist top. Dies bedeutet, dass alle direkt von Clients ausgegebenen Anweisungen nachverfolgt werden. Die beiden anderen Nachverfolgungsebenen sind none und all.

Zwischen den von pg_stat_statements bereitgestellten Abfrageausführungsinformationen und der Auswirkung auf die Serverleistung besteht ein Kompromiss, da jede SQL-Anweisung protokolliert wird. Wenn Sie die pg_stat_statements-Erweiterung nicht aktiv verwenden, empfiehlt es sich, pg_stat_statements.track auf none festzulegen. Einige Überwachungsdienste von Drittanbietern setzen auf pg_stat_statements, um Statistiken zur Abfrageleistung zu liefern. Bestätigen Sie daher, ob dieser Fall auf Sie zutrifft.

Sie können „dblink“ und „postgres_fdw“ verwenden, um eine Verbindung von einem PostgreSQL-Server mit einem anderen PostgreSQL-Server oder mit einer anderen Datenbank auf demselben Server herzustellen. Der empfangende Server muss Verbindungen vom sendenden Server über die Firewall zulassen. Um diese Erweiterungen für Verbindungen zwischen Azure Cosmos DB for PostgreSQL-Clustern mit öffentlichem Zugriff zu verwenden, aktivieren Sie Azure-Diensten und -Ressourcen den Zugriff auf diesen Cluster (oder Server) gestatten. Sie müssen diese Einstellung auch aktivieren, wenn Sie die Erweiterungen für ein Loopback zum selben Server verwenden möchten. Die Einstellung Azure-Diensten und -Ressourcen den Zugriff auf diesen Cluster gestatten finden Sie auf der Azure-Portalseite für den Cluster unter Netzwerk. Derzeit werden ausgehende Verbindungen von Azure Cosmos DB for PostgreSQL nicht unterstützt.

Orafce-Erweiterung

utl_file-Funktionen sind in der Orafce-Erweiterung deaktiviert.

Nächste Schritte