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.1.0 | 5.1.0 | 5.1.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 | 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.6 | 1.6 | 1.6 | 1.6 | 1.6 |
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.7.0 | 0.7.0 | 0.7.0 | 0.7.0 | 0.7.0 |
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.1 | 3.4.1 | 3.4.1 | 3.4.1 | 3.4.1 |
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.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_sfcgal | PostGIS SFCGAL-Funktionen. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
postgis_topology | Räumliche PostGIS-Topologietypen und -funktionen. | 3.3.4 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 | 3.4.2 |
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.
„dblink“ und „postgres_fdw“
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
- Informieren Sie sich über unterstützte PostgreSQL-Versionen.