PostgreSQL-extensies in Azure Database for PostgreSQL – Hyperscale (Citus)
PostgreSQL biedt de mogelijkheid om de functionaliteit van uw database uit te breiden met behulp van extensies. Extensies maken het mogelijk om meerdere gerelateerde SQL objecten samen te bundelen in één pakket dat kan worden geladen of verwijderd uit uw database met één opdracht. Nadat de gegevens in de database zijn geladen, kunnen de extensies functioneren als ingebouwde functies. Zie Pakketgerelateerde objecten in een extensie voor meer informatie over PostgreSQL-extensies.
PostgreSQL-extensies gebruiken
PostgreSQL-extensies moeten in uw database zijn geïnstalleerd voordat u ze kunt gebruiken. Als u een bepaalde extensie wilt installeren, moet u de opdracht CREATE EXTENSION uitvoeren vanuit het hulpprogramma psql om de verpakte objecten in uw database te laden.
Notitie
Als CREATE EXTENSION mislukt met de fout 'Machtiging geweigerd', probeert u in plaats daarvan de create_extension() functie. Bijvoorbeeld:
SELECT create_extension('postgis');
Azure Database for PostgreSQL: Hyperscale (Citus) ondersteunt momenteel een subset van sleutelextensies, zoals hier wordt vermeld. Andere extensies dan de vermelde extensies worden niet ondersteund. U kunt geen eigen extensie maken met Azure Database for PostgreSQL.
Extensies die worden ondersteund door Azure Database for PostgreSQL
In de volgende tabellen staan de standaard PostgreSQL-extensies die momenteel worden ondersteund door Azure Database for PostgreSQL. Deze informatie is ook beschikbaar door uit te SELECT * FROM pg_available_extensions; stellen.
De versies van elke extensie die in een servergroep is geïnstalleerd, verschillen soms op basis van de versie van PostgreSQL (11, 12 of 13). In de tabellen worden extensieversies per databaseversie vermeld.
Citus-extensie
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| citus | Gedistribueerde Citus-database. | 9.5 | 10.0.5 | 10.2.1 | 10.2.1 |
Extensies voor gegevenstypen
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| citext | Biedt een tekenreekstype dat niet hoofdincidentief is. | 1.5 | 1.6 | 1.6 | 1.6 |
| Kubus | Biedt een gegevenstype voor multidimensionale kubussen. | 1.4 | 1.4 | 1.4 | 1.5 |
| hll | Biedt een HyperLogLog-gegevensstructuur. | 2.15 | 2.15 | 2.16 | 2.16 |
| Hstore | Biedt een gegevenstype voor het opslaan van sets sleutel-waardeparen. | 1.5 | 1.6 | 1,7 | 1.8 |
| Isn | Biedt gegevenstypen voor internationale productnummeringsstandaarden. | 1.2 | 1.2 | 1.2 | 1.2 |
| Lo | Large Object onderhoud. | 1.1 | 1.1 | 1.1 | 1.1 |
| LTREE | Biedt een gegevenstype voor hiërarchische structuur-achtige structuren. | 1.1 | 1,1 | 1,2 | 1.2 |
| Seg | Gegevenstype voor het vertegenwoordigen van lijnsegmenten of drijvende-puntintervallen. | 1.3 | 1.3 | 1.3 | 1.4 |
| tdigest | Gegevenstype voor onlineaccumulatie van op rangschikking gebaseerde statistieken, zoals kwantielen en afgekorte gemiddelden. | 1.0 | 1.0 | 1.2.0 | 1.2.0 |
| topn | Typ voor top-n JSONB. | 2.3.1 | 2.3.1 | 2.4.0 | 2.4.0 |
Extensies voor zoeken in volledige tekst
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| _dicteren | Biedt een woordenlijstsjabloon voor tekst zoeken voor gehele getallen. | 1.0 | 1.0 | 1.0 | 1.0 |
| xsyn _ dicteren | Woordenlijstsjabloon voor tekst zoeken voor uitgebreide synoniemverwerking. | 1.0 | 1.0 | 1.0 | 1.0 |
| Unaccent | Een woordenlijst voor tekst zoeken die accenten (diakritische tekens) uit lexemes verwijdert. | 1.1 | 1.1 | 1.1 | 1.1 |
Functions-extensies
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| autoinc | Functies voor het automatisch maken van velden. | 1.0 | 1.0 | 1.0 | 1.0 |
| earthdistance | Biedt een manier om de afstand van grote cirkels op het oppervlak van de aarde te berekenen. | 1.1 | 1.1 | 1.1 | 1.1 |
| fuzzystrmatch | Biedt verschillende functies om overeenkomsten en afstand tussen tekenreeksen te bepalen. | 1.1 | 1.1 | 1.1 | 1.1 |
| gebruikersnaam _ invoegen | Functies voor het bijhouden van wie een tabel heeft gewijzigd. | 1.0 | 1.0 | 1.0 | 1.0 |
| intagg | Aggregator en enumerator voor gehele getallen (verouderd). | 1.1 | 1.1 | 1.1 | 1.1 |
| intarray | Biedt functies en operators voor het bewerken van null-vrije matrices van gehele getallen. | 1.2 | 1.2 | 1.3 | 1.5 |
| moddatetime | Functies voor het bijhouden van de laatste wijzigingstijd. | 1.0 | 1.0 | 1.0 | 1.0 |
| pg _ partman | Beheert gepartitiede tabellen op tijd of id. | 4.5.1 | 4.5.1 | 4.5.1 | 4.5.1 |
| pg _ trgm | Biedt functies en operators voor het bepalen van de overeenkomsten van alfanumerieke tekst op basis van trigrammen die overeenkomen. | 1.4 | 1.4 | 1.5 | 1.6 |
| pgcrypto | Biedt cryptografische functies. | 1.3 | 1.3 | 1.3 | 1.3 |
| refint | Functies voor het implementeren van referentiële integriteit (verouderd). | 1.0 | 1.0 | 1.0 | 1.0 |
| tablefunc | Biedt functies die hele tabellen bewerken, inclusief kruistab. | 1.0 | 1.0 | 1.0 | 1.0 |
| tcn | Geactiveerde wijzigingsmeldingen. | 1.0 | 1.0 | 1.0 | 1.0 |
| timetravel | Functies voor het implementeren time travel. | 1.0 | |||
| uuid-ossp | Genereert universally unique identifiers (UUID's). | 1.1 | 1.1 | 1.1 | 1.1 |
Extensies voor indextypen
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| Bloom | Bloom-toegangsmethode : handtekeningbestandsindex. | 1.0 | 1.0 | 1.0 | 1.0 |
| _btree: | Biedt voorbeelden van OPERATOR-klassen die B-tree-achtige gedrag implementeren voor bepaalde gegevenstypen. | 1.3 | 1.3 | 1.3 | 1.3 |
| _btreehandel | Biedt GiST-indexoperatorklassen die B-tree implementeren. | 1.5 | 1.5 | 1.5 | 1.6 |
Taalextensies
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| plpgsql | Pl/pgSQL loadable procedurele taal. | 1.0 | 1.0 | 1.0 | 1.0 |
Diverse extensies
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| adminpack | Beheerfuncties voor PostgreSQL. | 2,0 | 2,0 | 2.1 | 2.1 |
| amcheck | Functies voor het controleren van de relatie-integriteit. | 1,1 | 1,2 | 1.2 | 1.3 |
| dblink | Een module die vanuit een databasesessie verbindingen met andere PostgreSQL-databases ondersteunt. Zie de sectie 'dblink en postgres_fdw' voor informatie over deze extensie. | 1.2 | 1.2 | 1.2 | 1.2 |
| bestand _ fdw | Foreign-data wrapper voor toegang tot platte bestanden. | 1.0 | 1.0 | 1.0 | 1.0 |
| pageinspect | Inspecteer de inhoud van databasepagina's op een laag niveau. | 1,7 | 1,7 | 1.8 | 1,9 |
| pg _ buffercache | Biedt een manier om in realtime te onderzoeken wat er in de gedeelde buffercache gebeurt. | 1.3 | 1.3 | 1.3 | 1.3 |
| pg _ cron | Taakplanster voor PostgreSQL. | 1.3 | 1.3 | 1.3 | 1.4 |
| pg _ freespacemap | Bekijk de kaart met vrije ruimte (FSM). | 1.2 | 1.2 | 1.2 | 1.2 |
| pg _ prewarm | Biedt een manier om relationele gegevens in de buffercache te laden. | 1.2 | 1.2 | 1.2 | 1.2 |
| pg _ _ stat-instructies | Biedt een manier voor het bijhouden van uitvoeringsstatistieken van alle SQL-instructies die worden uitgevoerd door een server. Zie de sectie 'pg_stat_statements' voor informatie over deze extensie. | 1.6 | 1,7 | 1.8 | 1,9 |
| _pg-zichtbaarheid | Bekijk de zichtbaarheidskaart (VM) en zichtbaarheidsinformatie op paginaniveau. | 1.2 | 1.2 | 1.2 | 1.2 |
| pgrowlocks | Biedt een manier om vergrendelingsgegevens op rijniveau weer te geven. | 1.2 | 1.2 | 1.2 | 1.2 |
| pgstattuple | Biedt een manier voor het weergeven van statistieken op tupleniveau. | 1.5 | 1.5 | 1.5 | 1.5 |
| postgres _ fdw | Foreign-data wrapper gebruikt voor toegang tot gegevens die zijn opgeslagen op externe PostgreSQL-servers. Zie de sectie 'dblink en postgres_fdw' voor informatie over deze extensie. | 1.0 | 1.0 | 1.0 | 1.1 |
| sslinfo | Informatie over TLS/SSL-certificaten. | 1.2 | 1.2 | 1.2 | 1.2 |
| _ _ tsm-systeemrijen | De methode TABLESAMPLE, waarmee het aantal rijen als een limiet wordt geaccepteerd. | 1.0 | 1.0 | 1.0 | 1.0 |
| _TSM-systeemtijd _ | De methode TABLESAMPLE, waarmee tijd in milliseconden als limiet wordt geaccepteerd. | 1.0 | 1.0 | 1.0 | 1.0 |
| xml2 | XPath-query's en XSLT. | 1.1 | 1.1 | 1.1 | 1.1 |
PostGIS-extensies
| Extensie | Beschrijving | PG 11 | PG 12 | PG 13 | PG 14 |
|---|---|---|---|---|---|
| PostGIS,postgis _ topology, postgis _ tiger _ geocoder, postgis _ sfcgal | Ruimtelijke en geografische objecten voor PostgreSQL. | 2.5.5 | 3.0.3 | 3.0.3 | 3.1.4 |
| address _ standardizer, address _ standardizer _ data _ us | Wordt gebruikt om een adres te parseren in samenstellende elementen. Wordt gebruikt ter ondersteuning van de stap voor geocodering van adresnormalisatie. | 2.5.5 | 3.0.3 | 3.0.3 | 3.1.4 |
| postgis _ sfcgal | PostGIS SFCGAL-functies. | 2.5.5 | 3.0.3 | 3.0.3 | 3.1.4 |
| postgis _ tiger _ geocoder | PostGIS tiger geocoder en reverse geocoder. | 2.5.5 | 3.0.3 | 3.0.3 | 3.1.4 |
| _postgis-topologie | Ruimtelijke typen en functies voor PostGIS-topologie. | 2.5.5 | 3.0.3 | 3.0.3 | 3.1.4 |
pg_stat_statements
De extensie pg _ stat _ statements wordt vooraf geladen op elke Azure Database for PostgreSQL-server om u een manier te bieden om uitvoeringsstatistieken van SQL volgen.
De instelling pg_stat_statements.track bepaalt welke instructies worden geteld door de extensie. De standaardwaarde is . Dit betekent dat alle instructies die rechtstreeks door top clients worden uitgegeven, worden bijgespoord. De twee andere traceringsniveaus zijn none en all . Deze instelling kan worden geconfigureerd als een serverparameter via de Azure Portal of de Azure CLI.
Er is een afweging tussen de uitvoeringsgegevens van de query die pg_stat_statements biedt en het effect op de serverprestaties wanneer elke SQL registreert. Als u de extensie pg_stat_statements gebruikt, wordt u aangeraden in te pg_stat_statements.track stellen op none . Sommige bewakingsservices van derden zijn mogelijk afhankelijk van pg_stat_statements van queryprestaties, dus controleer of dit het geval is voor u of niet.
dblink en postgres_fdw
U kunt dblink en postgres fdw gebruiken om verbinding te maken tussen de _ ene PostgreSQL-server en een andere database op dezelfde server. De ontvangende server moet verbindingen van de verzendende server via de firewall toestaan. Als u deze extensies wilt gebruiken om verbinding te maken tussen Azure Database for PostgreSQL-servers of Hyperscale (Citus)-servergroepen, stelt u Azure-services en -resources toegang geven tot deze servergroep (of server) in op AAN. U moet deze instelling ook aan zetten als u de extensies wilt gebruiken om terug te gaan naar dezelfde server. De instelling Azure-services en -resources toegang geven tot deze servergroep vindt u op de pagina Azure Portal voor de Hyperscale (Citus)-servergroep onder Netwerken. Op dit moment worden uitgaande verbindingen van Azure Database for PostgreSQL Enkele server en Hyperscale (Citus) niet ondersteund, met uitzondering van verbindingen met andere Azure Database for PostgreSQL-servers en Hyperscale (Citus) servergroepen.