PostgreSQL-bővítmények az Azure Database for PostgreSQL-ben – Önálló kiszolgáló

A KÖVETKEZŐKRE VONATKOZIK: Azure Database for PostgreSQL – Önálló kiszolgáló

Fontos

Azure Database for PostgreSQL – Az önálló kiszolgáló a kivezetési útvonalon van. Határozottan javasoljuk, hogy frissítsen az Azure Database for PostgreSQL rugalmas kiszolgálóra. A rugalmas Azure Database for PostgreSQL-kiszolgálóra való migrálással kapcsolatos további információkért lásd: Mi történik az önálló Azure Database for PostgreSQL-kiszolgálóval?

A PostgreSQL lehetővé teszi az adatbázis funkcióinak kiterjesztését bővítmények használatával. A bővítmények több kapcsolódó SQL-objektumot kötegelnek egyetlen csomaggá, amely egyetlen paranccsal betölthető vagy eltávolítható az adatbázisból. Az adatbázisba való betöltés után a bővítmények ugyanúgy működnek, mint a beépített funkciók.

PostgreSQL-bővítmények használata

A PostgreSQL-bővítményeket a használatuk előtt telepíteni kell az adatbázisba. Egy adott bővítmény telepítéséhez futtassa a CREATE EXTENSION parancsot a psql-eszközben a becsomagolt objektumok adatbázisba való betöltéséhez.

Az Azure Database for PostgreSQL támogatja a kulcsbővítmények egy részhalmazát az alábbiak szerint. Ez az információ a futtatással SELECT * FROM pg_available_extensions;is elérhető. A listában nem szereplő bővítmények nem támogatottak. Nem hozhat létre saját bővítményt az Azure Database for PostgreSQL-ben.

Postgres 11-bővítmények

Az alábbi bővítmények a Postgres 11-es verziójával rendelkező Azure Database for PostgreSQL-kiszolgálókon érhetők el.

Kiterjesztés Bővítmény verziója Leírás
address_standardizer 2.5.1 Egy cím rendszerösszetevőkbe való elemzésére szolgál.
address_standardizer_data_us 2.5.1 Address Standardizer US dataset example
btree_gin 1.3 gyakori adattípusok GIN-ben történő indexelésének támogatása
btree_gist 1,5 Gyakori adattípusok indexelésének támogatása a GiST-ben
citext 1,5 a kis- és nagybetűket nem megkülönböztető karaktersztringek adattípusa
Kocka 1.4 adattípus többdimenziós kockákhoz
dblink 1,2 csatlakozás más PostgreSQL-adatbázisokhoz egy adatbázison belülről
dict_int 1,0 szövegkeresési szótársablon egész számokhoz
földesi lét 1,1 nagykörű távolságok kiszámítása a Föld felszínén
fuzzystrmatch 1,1 a sztringek közötti hasonlóságok és távolság meghatározása
hstore 1,5 adattípus (kulcs, érték) párok készleteinek tárolásához
hypopg 1.1.2 Hipotetikus indexek a PostgreSQL-hez
intarray 1,2 függvények, operátorok és indextámogatás egész számok egydimenziós tömbjeihez
Isn 1,2 adattípusok nemzetközi termékszámozási szabványokhoz
ltree 1,1 hierarchikus faszerű struktúrák adattípusa
orafce 3.7 Függvények és operátorok, amelyek függvények és csomagok egy részét emulálják a kereskedelmi RDBMS-ből
pgaudit 1.3.1 naplózási funkciót biztosít
pgcrypto 1.3 titkosítási függvények
pgrouting 2.6.2 pgRouting bővítmény
pgrowlocks 1,2 sorszintű zárolási információk megjelenítése
pgstattuple 1,5 rekordszintű statisztikák megjelenítése
pg_buffercache 1.3 a megosztott puffergyorsítótár vizsgálata
pg_partman 4.0.0 A particionált táblák idő vagy azonosító szerinti kezeléséhez szolgáló bővítmény
pg_prewarm 1,2 előzetes relációs adatok
pg_stat_statements 1.6 az összes végrehajtott SQL-utasítás végrehajtási statisztikáinak nyomon követése
pg_trgm 1.4 szöveg-hasonlóság mérése és indexkeresés trigramok alapján
plpgsql 1,0 PL/pgSQL eljárási nyelv
plv8 2.3.11 PL/JavaScript (v8) megbízható eljárásnyelv
postgis 2.5.1 PostGIS geometria, földrajzi hely és raszter térbeli típusok és függvények
postgis_sfcgal 2.5.1 PostGIS SFCGAL függvények
postgis_tiger_geocoder 2.5.1 PostGIS tigris geokódoló és fordított geokódoló
postgis_topology 2.5.1 PostGIS-topológia térbeli típusai és függvényei
postgres_fdw 1,0 külső adatburkoló távoli PostgreSQL-kiszolgálókhoz
tablefunc 1,0 függvények, amelyek egész táblákat kezelnek, beleértve a kereszttáblát is
timescaledb 1.7.4 Méretezhető beszúrások és összetett lekérdezések engedélyezése idősoros adatokhoz
unaccent 1,1 szövegkeresési szótár, amely eltávolítja az ékezeteket
uuid-ossp 1,1 univerzálisan egyedi azonosítók (UUID-k) létrehozása

Postgres 10-bővítmények

Az alábbi bővítmények a Postgres 10-es verziójával rendelkező Azure Database for PostgreSQL-kiszolgálókon érhetők el.

Kiterjesztés Bővítmény verziója Leírás
address_standardizer 2.5.1 Egy cím rendszerösszetevőkbe való elemzésére szolgál.
address_standardizer_data_us 2.5.1 Address Standardizer US dataset example
btree_gin 1.3 gyakori adattípusok GIN-ben történő indexelésének támogatása
btree_gist 1,5 Gyakori adattípusok indexelésének támogatása a GiST-ben
chkpass 1,0 automatikusan titkosított jelszavak adattípusa
citext 1.4 a kis- és nagybetűket nem megkülönböztető karaktersztringek adattípusa
Kocka 1,2 adattípus többdimenziós kockákhoz
dblink 1,2 csatlakozás más PostgreSQL-adatbázisokhoz egy adatbázison belülről
dict_int 1,0 szövegkeresési szótársablon egész számokhoz
földesi lét 1,1 nagykörű távolságok kiszámítása a Föld felszínén
fuzzystrmatch 1,1 a sztringek közötti hasonlóságok és távolság meghatározása
hstore 1.4 adattípus (kulcs, érték) párok készleteinek tárolásához
hypopg 1.1.1 Hipotetikus indexek a PostgreSQL-hez
intarray 1,2 függvények, operátorok és indextámogatás egész számok egydimenziós tömbjeihez
Isn 1,1 adattípusok nemzetközi termékszámozási szabványokhoz
ltree 1,1 hierarchikus faszerű struktúrák adattípusa
orafce 3.7 Függvények és operátorok, amelyek függvények és csomagok egy részét emulálják a kereskedelmi RDBMS-ből
pgaudit 1,2 naplózási funkciót biztosít
pgcrypto 1.3 titkosítási függvények
pgrouting 2.5.2 pgRouting bővítmény
pgrowlocks 1,2 sorszintű zárolási információk megjelenítése
pgstattuple 1,5 rekordszintű statisztikák megjelenítése
pg_buffercache 1.3 a megosztott puffergyorsítótár vizsgálata
pg_partman 2.6.3 A particionált táblák idő vagy azonosító szerinti kezeléséhez szolgáló bővítmény
pg_prewarm 1,1 előzetes relációs adatok
pg_stat_statements 1.6 az összes végrehajtott SQL-utasítás végrehajtási statisztikáinak nyomon követése
pg_trgm 1.3 szöveg-hasonlóság mérése és indexkeresés trigramok alapján
plpgsql 1,0 PL/pgSQL eljárási nyelv
plv8 2.1.0 PL/JavaScript (v8) megbízható eljárásnyelv
postgis 2.4.3 PostGIS geometria, földrajzi hely és raszter térbeli típusok és függvények
postgis_sfcgal 2.4.3 PostGIS SFCGAL függvények
postgis_tiger_geocoder 2.4.3 PostGIS tigris geokódoló és fordított geokódoló
postgis_topology 2.4.3 PostGIS-topológia térbeli típusai és függvényei
postgres_fdw 1,0 külső adatburkoló távoli PostgreSQL-kiszolgálókhoz
tablefunc 1,0 függvények, amelyek egész táblákat kezelnek, beleértve a kereszttáblát is
timescaledb 1.7.4 Méretezhető beszúrások és összetett lekérdezések engedélyezése idősoros adatokhoz
unaccent 1,1 szövegkeresési szótár, amely eltávolítja az ékezeteket
uuid-ossp 1,1 univerzálisan egyedi azonosítók (UUID-k) létrehozása

Postgres 9.6-bővítmények

Az alábbi bővítmények a Postgres 9.6-os verziójával rendelkező Azure Database for PostgreSQL-kiszolgálókon érhetők el.

Kiterjesztés Bővítmény verziója Leírás
address_standardizer 2.3.2 Egy cím rendszerösszetevőkbe való elemzésére szolgál.
address_standardizer_data_us 2.3.2 Address Standardizer US dataset example
btree_gin 1,0 gyakori adattípusok GIN-ben történő indexelésének támogatása
btree_gist 1,2 Gyakori adattípusok indexelésének támogatása a GiST-ben
chkpass 1,0 automatikusan titkosított jelszavak adattípusa
citext 1.3 a kis- és nagybetűket nem megkülönböztető karaktersztringek adattípusa
Kocka 1,2 adattípus többdimenziós kockákhoz
dblink 1,2 csatlakozás más PostgreSQL-adatbázisokhoz egy adatbázison belülről
dict_int 1,0 szövegkeresési szótársablon egész számokhoz
földesi lét 1,1 nagykörű távolságok kiszámítása a Föld felszínén
fuzzystrmatch 1,1 a sztringek közötti hasonlóságok és távolság meghatározása
hstore 1.4 adattípus (kulcs, érték) párok készleteinek tárolásához
hypopg 1.1.1 Hipotetikus indexek a PostgreSQL-hez
intarray 1,2 függvények, operátorok és indextámogatás egész számok egydimenziós tömbjeihez
Isn 1,1 adattípusok nemzetközi termékszámozási szabványokhoz
ltree 1,1 hierarchikus faszerű struktúrák adattípusa
orafce 3.7 Függvények és operátorok, amelyek függvények és csomagok egy részét emulálják a kereskedelmi RDBMS-ből
pgaudit 1.1.2 naplózási funkciót biztosít
pgcrypto 1.3 titkosítási függvények
pgrouting 2.3.2 pgRouting bővítmény
pgrowlocks 1,2 sorszintű zárolási információk megjelenítése
pgstattuple 1.4 rekordszintű statisztikák megjelenítése
pg_buffercache 1,2 a megosztott puffergyorsítótár vizsgálata
pg_partman 2.6.3 A particionált táblák idő vagy azonosító szerinti kezeléséhez szolgáló bővítmény
pg_prewarm 1,1 előzetes relációs adatok
pg_stat_statements 1.4 az összes végrehajtott SQL-utasítás végrehajtási statisztikáinak nyomon követése
pg_trgm 1.3 szöveg-hasonlóság mérése és indexkeresés trigramok alapján
plpgsql 1,0 PL/pgSQL eljárási nyelv
plv8 2.1.0 PL/JavaScript (v8) megbízható eljárásnyelv
postgis 2.3.2 PostGIS geometria, földrajzi hely és raszter térbeli típusok és függvények
postgis_sfcgal 2.3.2 PostGIS SFCGAL függvények
postgis_tiger_geocoder 2.3.2 PostGIS tigris geokódoló és fordított geokódoló
postgis_topology 2.3.2 PostGIS-topológia térbeli típusai és függvényei
postgres_fdw 1,0 külső adatburkoló távoli PostgreSQL-kiszolgálókhoz
tablefunc 1,0 függvények, amelyek egész táblákat kezelnek, beleértve a kereszttáblát is
timescaledb 1.7.4 Méretezhető beszúrások és összetett lekérdezések engedélyezése idősoros adatokhoz
unaccent 1,1 szövegkeresési szótár, amely eltávolítja az ékezeteket
uuid-ossp 1,1 univerzálisan egyedi azonosítók (UUID-k) létrehozása

Postgres 9.5-bővítmények

Feljegyzés

A PostgreSQL 9.5-ös verziója ki lett állítva.

Az alábbi bővítmények a Postgres 9.5-ös verziójával rendelkező Azure Database for PostgreSQL-kiszolgálókon érhetők el.

Kiterjesztés Bővítmény verziója Leírás
address_standardizer 2.3.0 Egy cím rendszerösszetevőkbe való elemzésére szolgál.
address_standardizer_data_us 2.3.0 Address Standardizer US dataset example
btree_gin 1,0 gyakori adattípusok GIN-ben történő indexelésének támogatása
btree_gist 1,1 Gyakori adattípusok indexelésének támogatása a GiST-ben
chkpass 1,0 automatikusan titkosított jelszavak adattípusa
citext 1,1 a kis- és nagybetűket nem megkülönböztető karaktersztringek adattípusa
Kocka 1,0 adattípus többdimenziós kockákhoz
dblink 1,1 csatlakozás más PostgreSQL-adatbázisokhoz egy adatbázison belülről
dict_int 1,0 szövegkeresési szótársablon egész számokhoz
földesi lét 1,0 nagykörű távolságok kiszámítása a Föld felszínén
fuzzystrmatch 1,0 a sztringek közötti hasonlóságok és távolság meghatározása
hstore 1.3 adattípus (kulcs, érték) párok készleteinek tárolásához
hypopg 1.1.1 Hipotetikus indexek a PostgreSQL-hez
intarray 1,0 függvények, operátorok és indextámogatás egész számok egydimenziós tömbjeihez
Isn 1,0 adattípusok nemzetközi termékszámozási szabványokhoz
ltree 1,0 hierarchikus faszerű struktúrák adattípusa
orafce 3.7 Függvények és operátorok, amelyek függvények és csomagok egy részét emulálják a kereskedelmi RDBMS-ből
pgaudit 1.0.7 naplózási funkciót biztosít
pgcrypto 1,2 titkosítási függvények
pgrouting 2.3.0 pgRouting bővítmény
pgrowlocks 1,1 sorszintű zárolási információk megjelenítése
pgstattuple 1.3 rekordszintű statisztikák megjelenítése
pg_buffercache 1,1 a megosztott puffergyorsítótár vizsgálata
pg_partman 2.6.3 A particionált táblák idő vagy azonosító szerinti kezeléséhez szolgáló bővítmény
pg_prewarm 1,0 előzetes relációs adatok
pg_stat_statements 1.3 az összes végrehajtott SQL-utasítás végrehajtási statisztikáinak nyomon követése
pg_trgm 1,1 szöveg-hasonlóság mérése és indexkeresés trigramok alapján
plpgsql 1,0 PL/pgSQL eljárási nyelv
postgis 2.3.0 PostGIS geometria, földrajzi hely és raszter térbeli típusok és függvények
postgis_sfcgal 2.3.0 PostGIS SFCGAL függvények
postgis_tiger_geocoder 2.3.0 PostGIS tigris geokódoló és fordított geokódoló
postgis_topology 2.3.0 PostGIS-topológia térbeli típusai és függvényei
postgres_fdw 1,0 külső adatburkoló távoli PostgreSQL-kiszolgálókhoz
tablefunc 1,0 függvények, amelyek egész táblákat kezelnek, beleértve a kereszttáblát is
unaccent 1,0 szövegkeresési szótár, amely eltávolítja az ékezeteket
uuid-ossp 1,0 univerzálisan egyedi azonosítók (UUID-k) létrehozása

pg_stat_statements

A pg_stat_statements bővítmény minden Azure Database for PostgreSQL-kiszolgálón előre be van töltve, hogy nyomon követhesse az SQL-utasítások végrehajtási statisztikáit. A bővítmény által megszámlált utasításokat meghatározó beállítás pg_stat_statements.trackalapértelmezés szerint a következőre topvan állítva, vagyis az ügyfelek által közvetlenül kiadott összes utasítás nyomon lesz követve. A két másik nyomkövetési szint és noneall. Ez a beállítás kiszolgálóparaméterként konfigurálható az Azure Portalon vagy az Azure CLI-vel.

A pg_stat_statements nyújtotta lekérdezés-végrehajtási információk használata a kiszolgáló teljesítményének romlását vonja magával, mivel minden egyes SQL-utasítást naplóz. Ha nem használja aktívan a pg_stat_statements bővítményt, javasoljuk, hogy állítsa be a következőt pg_stat_statements.tracknone: . Vegye figyelembe, hogy egyes külső monitorozási szolgáltatások pg_stat_statements támaszkodhatnak a lekérdezési teljesítmény elemzésére, ezért ellenőrizze, hogy ez a helyzet-e Önnél.

A dblink és a postgres_fdw lehetővé teszik, hogy az egyik PostgreSQL-kiszolgálóról egy másikhoz vagy ugyanazon kiszolgáló egy másik adatbázisához csatlakozzon. A fogadó kiszolgálónak engedélyeznie kell a kapcsolatot a küldő kiszolgálóról a tűzfalon keresztül. Ha ezekkel a bővítményekkel csatlakozik az Azure Database for PostgreSQL-kiszolgálókhoz, ez az "Azure-szolgáltatásokhoz való hozzáférés engedélyezése" beállítással on értékre állítható. Erre akkor is szükség van, ha a bővítmények használatával szeretne visszacsukni ugyanahhoz a kiszolgálóhoz. Az "Azure-szolgáltatásokhoz való hozzáférés engedélyezése" beállítás a Postgres-kiszolgáló Azure Portal lapján, a Csatlakozás ion Security alatt található. Az "Azure-szolgáltatásokhoz való hozzáférés engedélyezése" bekapcsolva az összes Azure IP-címet felveszi az engedélyezési listára.

Feljegyzés

Jelenleg az Azure Database for PostgreSQL-ből külső adatburkolóbővítményeken keresztüli kimenő kapcsolatok( például postgres_fdw) nem támogatottak, kivéve az azonos Azure-régióban található más Azure Database for PostgreSQL-kiszolgálókhoz való kapcsolatokat.

uuid

Ha az uuid-ossp kiterjesztésből tervezi használniuuid_generate_v4(), fontolja meg a pgcrypto bővítmény összehasonlítását gen_random_uuid() a teljesítménybeli előnyök érdekében.

pgAudit

A pgAudit bővítmény munkamenet- és objektumnaplózást biztosít. Ha meg szeretné tudni, hogyan használhatja ezt a bővítményt az Azure Database for PostgreSQL-ben, tekintse meg a naplózási fogalmakat ismertető cikket.

pg_prewarm

A pg_prewarm bővítmény betölti a relációs adatokat a gyorsítótárba. A gyorsítótárak előzetes létrehozása azt jelenti, hogy a lekérdezések jobb válaszidővel rendelkeznek az újraindítás utáni első futtatáskor. A Postgres 10-ben és alatta az előzetes beírás manuálisan történik a prewarm függvény használatával.

A Postgres 11-ben és újabb verziókban konfigurálhatja, hogy az előmegrendelés automatikusan megtörténjen. A módosítás alkalmazásához fel kell vennie pg_prewarm a shared_preload_libraries paraméter listájába, majd újra kell indítania a kiszolgálót. A paraméterek az Azure Portalról, a CLI-ből, a REST API-ból vagy az ARM-sablonból állíthatók be.

TimescaleDB

Az TimescaleDB egy idősorozat-adatbázis, amely a PostgreSQL bővítményeként van csomagolva. Az timescaleDB időorientált elemzési függvényeket, optimalizálásokat és skálázási Postgres-eket biztosít az idősoros számítási feladatokhoz.

További információ az TimescaleDB-ről, az Timescale, Inc. bejegyzett védjegyéről. Az Azure Database for PostgreSQL biztosítja a TimescaleDB Apache-2 kiadást.

TimescaleDB telepítése

Az TimescaleDB telepítéséhez fel kell vennie azt a kiszolgáló megosztott előtöltési kódtáraiba. A Postgres paraméterének shared_preload_libraries módosításához a kiszolgáló újraindítása szükséges. A paramétereket az Azure Portalon vagy az Azure CLI-vel módosíthatja.

Az Azure Portal használata:

  1. Válassza ki az Azure Database for PostgreSQL kiszolgálóját.

  2. Az oldalsávon válassza a Kiszolgálóparaméterek lehetőséget.

  3. Keresse meg a paramétert shared_preload_libraries .

  4. Válassza az TimescaleDB lehetőséget.

  5. A módosítások megőrzéséhez válassza a Mentés lehetőséget. A módosítás mentése után értesítést kap.

  6. Az értesítés után indítsa újra a kiszolgálót a módosítások alkalmazásához. A kiszolgálók újraindításáról az Azure Database for PostgreSQL-kiszolgáló újraindítása című témakörben olvashat.

Mostantól engedélyezheti az TimescaleDB-t a Postgres-adatbázisban. Csatlakozás az adatbázishoz, és adja ki a következő parancsot:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Tipp.

Ha hibaüzenet jelenik meg, ellenőrizze, hogy újraindította-e a kiszolgálót a shared_preload_libraries mentése után.

Mostantól létrehozhat egy időskálázásiDB-hipertáblát az alapoktól, vagy áttelepítheti a meglévő idősoros adatokat a PostgreSQL-ben.

Időskálázási adatbázis visszaállítása pg_dump és pg_restore használatával

Az időskálázási adatbázis pg_dump és pg_restore használatával történő visszaállításához két segéd eljárást kell futtatnia a céladatbázisban: timescaledb_pre_restore() és timescaledb_post restore().

Először készítse elő a céladatbázist:

--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();

Most már futtathat pg_dump az eredeti adatbázisban, majd elvégezheti a pg_restore. A visszaállítás után mindenképpen futtassa a következő parancsot a visszaállított adatbázisban:

SELECT timescaledb_post_restore();

A visszaállítási módszer és az időskálázás által engedélyezett adatbázis további részleteiért tekintse meg az időskálázás dokumentációját

Timescale-adatbázis visszaállítása a timescaledb-backup segítségével

A fent felsorolt eljárás futtatásakor SELECT timescaledb_post_restore() az engedélyek megtagadása hibaüzenet jelenhet meg az timescaledb.restoring jelölő frissítésével. Ennek oka a korlátozott ALTER DATABA Standard kiadás engedély a Cloud PaaS adatbázis-szolgáltatásokban. Ebben az esetben alternatív módszert is végrehajthat az időskálázási adatbázis biztonsági mentésére és visszaállítására szolgáló timescaledb-backup eszközzel. Az időskálázottb-biztonsági mentés egy olyan program, amely egyszerűbbé, kevésbé hibalehetőségűvé és teljesíthetőbbé teszi a memóriaképeket, és visszaállítja az időskálázottDB-adatbázisokat. Ehhez kövesse a következőt:

  1. Eszközök telepítése az itt részletezett módon
  2. Cél Azure Database for PostgreSQL-kiszolgáló és -adatbázis létrehozása
  3. Időskálázási bővítmény engedélyezése a fent látható módon
  4. Adjon azure_pg_admin szerepkört a ts-restore által használt felhasználónak
  5. Ts-restore futtatása az adatbázis visszaállításához

Ezekről a segédprogramokról itt talál további részleteket.

Feljegyzés

Ha segédprogramokat használ timescale-backup az Azure-ba való visszaállításhoz, az az, hogy mivel a nem rugalmas Azure Database for PostgresQL adatbázis-felhasználóneveinek a <user@db-name> formátumot kell használniuk, karakterkódolásra %40 kell cserélni@.

Következő lépések

Ha nem látja a használni kívánt bővítményt, tudassa velünk. Szavazzon a meglévő kérelmekre, vagy hozzon létre új visszajelzési kéréseket a visszajelzési fórumunkban.