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.

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.