PostgreSQL-tillägg i Azure Database for PostgreSQL – enskild server

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

Med PostgreSQL kan du utöka funktionerna i databasen med hjälp av tillägg. Tillägg samlar flera SQL-objekt i ett enda paket som kan läsas in eller tas bort från databasen med ett enda kommando. När tilläggen har lästs in i databasen fungerar de som inbyggda funktioner.

Använda PostgreSQL-tillägg

PostgreSQL-tillägg måste installeras i databasen innan du kan använda dem. Om du vill installera ett visst tillägg kör du kommandot CREATE EXTENSION från psql-verktyget för att läsa in de paketerade objekten i databasen.

Azure Database for PostgreSQL stöder en delmängd av nyckeltilläggen enligt nedan. Den här informationen är också tillgänglig genom att köra SELECT * FROM pg_available_extensions;. Tillägg utöver de som visas stöds inte. Du kan inte skapa ett eget tillägg i Azure Database for PostgreSQL.

Postgres 11-tillägg

Följande tillägg är tillgängliga i Azure Database for PostgreSQL-servrar som har Postgres version 11.

Förlängning Tilläggsversion Beskrivning
address_standardizer 2.5.1 Används för att parsa en adress i element.
address_standardizer_data_us 2.5.1 Exempel på datamängden Address Standardizer US
btree_gin 1.3 stöd för indexering av vanliga datatyper i GIN
btree_gist 1.5 stöd för indexering av vanliga datatyper i GiST
citext 1.5 datatyp för skiftlägesokänsliga teckensträngar
Kub 1.4 datatyp för flerdimensionella kuber
dblink 1.2 ansluta till andra PostgreSQL-databaser från en databas
dict_int 1.0 ordlistemall för textsökning för heltal
earthdistance 1,1 beräkna stora cirkelavstånd på jordens yta
fuzzystrmatch 1,1 fastställa likheter och avstånd mellan strängar
Hstore 1.5 datatyp för lagring av uppsättningar med (nyckel, värde) par
hypopg 1.1.2 Hypotetiska index för PostgreSQL
intarray 1.2 funktioner, operatorer och indexstöd för 1D-matriser med heltal
Isn 1.2 datatyper för internationella produktnumreringsstandarder
ltree 1,1 datatyp för hierarkiska trädliknande strukturer
Orafce 3.7 Funktioner och operatorer som emulerar en delmängd av funktioner och paket från kommersiell RDBMS
pgaudit 1.3.1 tillhandahåller granskningsfunktioner
pgcrypto 1.3 kryptografiska funktioner
pgrouting 2.6.2 pgRouting-tillägg
pgrowlocks 1.2 visa information om låsning på radnivå
pgstattuple 1.5 visa statistik på tuppelns nivå
pg_buffercache 1.3 granska den delade buffertcachen
pg_partman 4.0.0 Tillägg för att hantera partitionerade tabeller efter tid eller ID
pg_prewarm 1.2 prewarm-relationsdata
pg_stat_statements 1.6 spåra körningsstatistik för alla SQL-instruktioner som körs
pg_trgm 1.4 textlikhetsmätning och indexsökning baserat på trigram
plpgsql 1.0 PL/pgSQL procedurellt språk
plv8 2.3.11 PL/JavaScript (v8) betrott procedurspråk
Postgis 2.5.1 PostGIS-geometri, geografiska och raster-rumsliga typer och funktioner
postgis_sfcgal 2.5.1 PostGIS SFCGAL-funktioner
postgis_tiger_geocoder 2.5.1 PostGIS tiger geocoder och omvänd geocoder
postgis_topology 2.5.1 PostGIS-topologi spatiala typer och funktioner
postgres_fdw 1.0 sekundärdataomslutning för fjärranslutna PostgreSQL-servrar
tablefunc 1.0 funktioner som manipulerar hela tabeller, inklusive korstabell
timescaledb 1.7.4 Aktiverar skalbara infogningar och komplexa frågor för tidsseriedata
Unaccent 1,1 ordlista för textsökning som tar bort accenter
uuid-ossp 1,1 generera universellt unika identifierare (UUID)

Postgres 10 tillägg

Följande tillägg är tillgängliga i Azure Database for PostgreSQL-servrar som har Postgres version 10.

Förlängning Tilläggsversion Beskrivning
address_standardizer 2.5.1 Används för att parsa en adress i element.
address_standardizer_data_us 2.5.1 Exempel på datamängden Address Standardizer US
btree_gin 1.3 stöd för indexering av vanliga datatyper i GIN
btree_gist 1.5 stöd för indexering av vanliga datatyper i GiST
chkpass 1.0 datatyp för automatiskt krypterade lösenord
citext 1.4 datatyp för skiftlägesokänsliga teckensträngar
Kub 1.2 datatyp för flerdimensionella kuber
dblink 1.2 ansluta till andra PostgreSQL-databaser från en databas
dict_int 1.0 ordlistemall för textsökning för heltal
earthdistance 1,1 beräkna stora cirkelavstånd på jordens yta
fuzzystrmatch 1,1 fastställa likheter och avstånd mellan strängar
Hstore 1.4 datatyp för lagring av uppsättningar med (nyckel, värde) par
hypopg 1.1.1 Hypotetiska index för PostgreSQL
intarray 1.2 funktioner, operatorer och indexstöd för 1D-matriser med heltal
Isn 1,1 datatyper för internationella produktnumreringsstandarder
ltree 1,1 datatyp för hierarkiska trädliknande strukturer
Orafce 3.7 Funktioner och operatorer som emulerar en delmängd av funktioner och paket från kommersiell RDBMS
pgaudit 1.2 tillhandahåller granskningsfunktioner
pgcrypto 1.3 kryptografiska funktioner
pgrouting 2.5.2 pgRouting-tillägg
pgrowlocks 1.2 visa information om låsning på radnivå
pgstattuple 1.5 visa statistik på tuppelns nivå
pg_buffercache 1.3 granska den delade buffertcachen
pg_partman 2.6.3 Tillägg för att hantera partitionerade tabeller efter tid eller ID
pg_prewarm 1,1 prewarm-relationsdata
pg_stat_statements 1.6 spåra körningsstatistik för alla SQL-instruktioner som körs
pg_trgm 1.3 textlikhetsmätning och indexsökning baserat på trigram
plpgsql 1.0 PL/pgSQL procedurellt språk
plv8 2.1.0 PL/JavaScript (v8) betrott procedurspråk
Postgis 2.4.3 PostGIS-geometri, geografiska och raster-rumsliga typer och funktioner
postgis_sfcgal 2.4.3 PostGIS SFCGAL-funktioner
postgis_tiger_geocoder 2.4.3 PostGIS tiger geocoder och omvänd geocoder
postgis_topology 2.4.3 PostGIS-topologi spatiala typer och funktioner
postgres_fdw 1.0 sekundärdataomslutning för fjärranslutna PostgreSQL-servrar
tablefunc 1.0 funktioner som manipulerar hela tabeller, inklusive korstabell
timescaledb 1.7.4 Aktiverar skalbara infogningar och komplexa frågor för tidsseriedata
Unaccent 1,1 ordlista för textsökning som tar bort accenter
uuid-ossp 1,1 generera universellt unika identifierare (UUID)

Postgres 9.6-tillägg

Följande tillägg är tillgängliga i Azure Database for PostgreSQL-servrar som har Postgres version 9.6.

Förlängning Tilläggsversion Beskrivning
address_standardizer 2.3.2 Används för att parsa en adress i element.
address_standardizer_data_us 2.3.2 Exempel på datamängden Address Standardizer US
btree_gin 1.0 stöd för indexering av vanliga datatyper i GIN
btree_gist 1.2 stöd för indexering av vanliga datatyper i GiST
chkpass 1.0 datatyp för automatiskt krypterade lösenord
citext 1.3 datatyp för skiftlägesokänsliga teckensträngar
Kub 1.2 datatyp för flerdimensionella kuber
dblink 1.2 ansluta till andra PostgreSQL-databaser från en databas
dict_int 1.0 ordlistemall för textsökning för heltal
earthdistance 1,1 beräkna stora cirkelavstånd på jordens yta
fuzzystrmatch 1,1 fastställa likheter och avstånd mellan strängar
Hstore 1.4 datatyp för lagring av uppsättningar med (nyckel, värde) par
hypopg 1.1.1 Hypotetiska index för PostgreSQL
intarray 1.2 funktioner, operatorer och indexstöd för 1D-matriser med heltal
Isn 1,1 datatyper för internationella produktnumreringsstandarder
ltree 1,1 datatyp för hierarkiska trädliknande strukturer
Orafce 3.7 Funktioner och operatorer som emulerar en delmängd av funktioner och paket från kommersiell RDBMS
pgaudit 1.1.2 tillhandahåller granskningsfunktioner
pgcrypto 1.3 kryptografiska funktioner
pgrouting 2.3.2 pgRouting-tillägg
pgrowlocks 1.2 visa information om låsning på radnivå
pgstattuple 1.4 visa statistik på tuppelns nivå
pg_buffercache 1.2 granska den delade buffertcachen
pg_partman 2.6.3 Tillägg för att hantera partitionerade tabeller efter tid eller ID
pg_prewarm 1,1 prewarm-relationsdata
pg_stat_statements 1.4 spåra körningsstatistik för alla SQL-instruktioner som körs
pg_trgm 1.3 textlikhetsmätning och indexsökning baserat på trigram
plpgsql 1.0 PL/pgSQL procedurellt språk
plv8 2.1.0 PL/JavaScript (v8) betrott procedurspråk
Postgis 2.3.2 PostGIS-geometri, geografiska och raster-rumsliga typer och funktioner
postgis_sfcgal 2.3.2 PostGIS SFCGAL-funktioner
postgis_tiger_geocoder 2.3.2 PostGIS tiger geocoder och omvänd geocoder
postgis_topology 2.3.2 PostGIS-topologi spatiala typer och funktioner
postgres_fdw 1.0 sekundärdataomslutning för fjärranslutna PostgreSQL-servrar
tablefunc 1.0 funktioner som manipulerar hela tabeller, inklusive korstabell
timescaledb 1.7.4 Aktiverar skalbara infogningar och komplexa frågor för tidsseriedata
Unaccent 1,1 ordlista för textsökning som tar bort accenter
uuid-ossp 1,1 generera universellt unika identifierare (UUID)

Postgres 9.5-tillägg

Kommentar

PostgreSQL version 9.5 har dragits tillbaka.

Följande tillägg är tillgängliga i Azure Database for PostgreSQL-servrar som har Postgres version 9.5.

Förlängning Tilläggsversion Beskrivning
address_standardizer 2.3.0 Används för att parsa en adress i element.
address_standardizer_data_us 2.3.0 Exempel på datamängden Address Standardizer US
btree_gin 1.0 stöd för indexering av vanliga datatyper i GIN
btree_gist 1,1 stöd för indexering av vanliga datatyper i GiST
chkpass 1.0 datatyp för automatiskt krypterade lösenord
citext 1,1 datatyp för skiftlägesokänsliga teckensträngar
Kub 1.0 datatyp för flerdimensionella kuber
dblink 1,1 ansluta till andra PostgreSQL-databaser från en databas
dict_int 1.0 ordlistemall för textsökning för heltal
earthdistance 1.0 beräkna stora cirkelavstånd på jordens yta
fuzzystrmatch 1.0 fastställa likheter och avstånd mellan strängar
Hstore 1.3 datatyp för lagring av uppsättningar med (nyckel, värde) par
hypopg 1.1.1 Hypotetiska index för PostgreSQL
intarray 1.0 funktioner, operatorer och indexstöd för 1D-matriser med heltal
Isn 1.0 datatyper för internationella produktnumreringsstandarder
ltree 1.0 datatyp för hierarkiska trädliknande strukturer
Orafce 3.7 Funktioner och operatorer som emulerar en delmängd av funktioner och paket från kommersiell RDBMS
pgaudit 1.0.7 tillhandahåller granskningsfunktioner
pgcrypto 1.2 kryptografiska funktioner
pgrouting 2.3.0 pgRouting-tillägg
pgrowlocks 1,1 visa information om låsning på radnivå
pgstattuple 1.3 visa statistik på tuppelns nivå
pg_buffercache 1,1 granska den delade buffertcachen
pg_partman 2.6.3 Tillägg för att hantera partitionerade tabeller efter tid eller ID
pg_prewarm 1.0 prewarm-relationsdata
pg_stat_statements 1.3 spåra körningsstatistik för alla SQL-instruktioner som körs
pg_trgm 1,1 textlikhetsmätning och indexsökning baserat på trigram
plpgsql 1.0 PL/pgSQL procedurellt språk
Postgis 2.3.0 PostGIS-geometri, geografiska och raster-rumsliga typer och funktioner
postgis_sfcgal 2.3.0 PostGIS SFCGAL-funktioner
postgis_tiger_geocoder 2.3.0 PostGIS tiger geocoder och omvänd geocoder
postgis_topology 2.3.0 PostGIS-topologi spatiala typer och funktioner
postgres_fdw 1.0 sekundärdataomslutning för fjärranslutna PostgreSQL-servrar
tablefunc 1.0 funktioner som manipulerar hela tabeller, inklusive korstabell
Unaccent 1.0 ordlista för textsökning som tar bort accenter
uuid-ossp 1.0 generera universellt unika identifierare (UUID)

pg_stat_statements

Tillägget pg_stat_statements är förinstallerat på varje Azure Database for PostgreSQL-server för att ge dig ett sätt att spåra körningsstatistik för SQL-instruktioner. Inställningen pg_stat_statements.track, som styr vilka instruktioner som räknas av tillägget, är standardvärdet , vilket innebär att topalla instruktioner som utfärdas direkt av klienter spåras. De två andra spårningsnivåerna är none och all. Den här inställningen kan konfigureras som en serverparameter via Azure-portalen eller Azure CLI.

Det gäller att hitta en balans mellan frågekörningsinformationen som pg_stat_statements tillhandahåller och påverkan på serverprestanda eftersom den loggar varje SQL-instruktion. Om du inte aktivt använder tillägget pg_stat_statements rekommenderar vi att du anger pg_stat_statements.track till none. Observera att vissa övervakningstjänster från tredje part kan förlita sig på pg_stat_statements för att leverera insikter om frågeprestanda, så bekräfta om så är fallet för dig eller inte.

dblink och postgres_fdw gör att du kan ansluta från en PostgreSQL-server till en annan eller till en annan databas på samma server. Den mottagande servern måste tillåta anslutningar från den sändande servern via brandväggen. När du använder dessa tillägg för att ansluta mellan Azure Database for PostgreSQL-servrar kan du göra detta genom att ange "Tillåt åtkomst till Azure-tjänster" till PÅ. Detta behövs också om du vill använda tilläggen för att loopa tillbaka till samma server. Inställningen "Tillåt åtkomst till Azure-tjänster" finns på Sidan i Azure-portalen för Postgres-servern under Anslut ion Security. Om du aktiverar "Tillåt åtkomst till Azure-tjänster" PÅ placeras alla Azure-IP-adresser i listan över tillåtna.

Kommentar

För närvarande stöds inte utgående anslutningar från Azure Database for PostgreSQL via externa dataomslutningstillägg, till exempel postgres_fdw, förutom anslutningar till andra Azure Database for PostgreSQL-servrar i samma Azure-region.

uuid

Om du planerar att använda uuid_generate_v4() från tillägget uuid-ossp kan du jämföra med gen_random_uuid() från pgcrypto-tillägget för prestandafördelar.

pgAudit

PgAudit-tillägget innehåller loggning av sessions- och objektgranskning. Mer information om hur du använder det här tillägget i Azure Database for PostgreSQL finns i artikeln om granskningsbegrepp.

pg_prewarm

Tillägget pg_prewarm läser in relationsdata i cacheminnet. Att förvärma dina cacheminnen innebär att dina frågor har bättre svarstider vid den första körningen efter en omstart. I Postgres 10 och nedan utförs förvarning manuellt med hjälp av funktionen prewarm.

I Postgres 11 och senare kan du konfigurera förvarning så att den sker automatiskt. Du måste inkludera pg_prewarm i shared_preload_libraries parameterlistan och starta om servern för att tillämpa ändringen. Parametrar kan anges från Azure-portalen, CLI, REST API eller ARM-mallen.

TidsskalaDB

TimescaleDB är en tidsseriedatabas som paketeras som ett tillägg för PostgreSQL. TimescaleDB tillhandahåller tidsorienterade analysfunktioner, optimeringar och skalar Postgres för tidsseriearbetsbelastningar.

Läs mer om TimescaleDB, ett registrerat varumärke som tillhör Timescale, Inc.. Azure Database for PostgreSQL tillhandahåller TimescaleDB Apache-2-utgåvan.

Installera TimescaleDB

Om du vill installera TimescaleDB måste du inkludera det i serverns delade förinläsningsbibliotek. En ändring av Postgres shared_preload_libraries parameter kräver att en omstart av servern börjar gälla. Du kan ändra parametrar med hjälp av Azure-portalen eller Azure CLI.

Använda Azure-portalen:

  1. Välj din Azure Database for PostgreSQL-server.

  2. I sidofältet väljer du Serverparametrar.

  3. Sök efter parametern shared_preload_libraries .

  4. Välj TimescaleDB.

  5. Välj Spara för att bevara ändringarna. Du får ett meddelande när ändringen har sparats.

  6. Starta om servern efter meddelandet för att tillämpa ändringarna. Information om hur du startar om en server finns i Starta om en Azure Database for PostgreSQL-server.

Nu kan du aktivera TimescaleDB i Postgres-databasen. Anslut till databasen och utfärda följande kommando:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Dricks

Om du ser ett fel kontrollerar du att du har startat om servern när du har sparat shared_preload_libraries.

Nu kan du skapa en TimescaleDB-hypertabell från grunden eller migrera befintliga tidsseriedata i PostgreSQL.

Återställa en tidsskala-databas med hjälp av pg_dump och pg_restore

Om du vill återställa en tidsskala-databas med hjälp av pg_dump och pg_restore måste du köra två hjälpprocedurer i måldatabasen: timescaledb_pre_restore() och timescaledb_post restore().

Förbered först måldatabasen:

--create the new database where you'll perform the restore
CREATE DATABASE tutorial;
\c tutorial --connect to the database 
CREATE EXTENSION timescaledb;

SELECT timescaledb_pre_restore();

Nu kan du köra pg_dump på den ursprungliga databasen och sedan göra pg_restore. Efter återställningen ska du köra följande kommando i den återställda databasen:

SELECT timescaledb_post_restore();

Mer information om återställningsmetod wiith Timescale-aktiverad databas finns i Dokumentation om tidsskala

Återställa en Timescale-databas med hjälp av timescaledb-säkerhetskopiering

När du kör SELECT timescaledb_post_restore() proceduren ovan kan du få behörigheter som nekas fel vid uppdatering av flaggan timescaledb.restoring. Detta beror på begränsad ALTER DATABASE-behörighet i Cloud PaaS-databastjänster. I det här fallet kan du utföra en alternativ metod med hjälp av timescaledb-backup verktyget för att säkerhetskopiera och återställa en tidsskala-databas. Timescaledb-backup är ett program för att göra dumpning och återställning av en TimescaleDB-databas enklare, mindre felbenägen och mer högpresterande. För att göra det bör du göra följande

  1. Installera verktyg enligt beskrivningen här
  2. Skapa Azure Database for PostgreSQL-målserver och -databas
  3. Aktivera tidsskaletillägg som visas ovan
  4. Bevilja azure_pg_admin roll till användare som ska användas av ts-restore
  5. Kör ts-restore för att återställa databasen

Mer information om dessa verktyg finns här.

Kommentar

När du använder timescale-backup verktyg för att återställa till Azure är att eftersom databasanvändarnamn för icke-flexibla Azure Database for PostgresQL måste använda <user@db-name> formatet måste du ersätta @ med %40 teckenkodning.

Nästa steg

Om du inte ser ett tillägg som du vill använda kan du meddela oss. Rösta på befintliga begäranden eller skapa nya feedbackförfrågningar i vårt feedbackforum.