Megosztás a következőn keresztül:


Bővítmények és modulok

A PostgreSQL bővítményei és moduljai hatékony eszközök, amelyekkel a felhasználók bővíthetik az adatbázisrendszer funkcióit. Az egyszerű SQL-objektumoktól az összetett bináris kódtárakig terjedhetnek, és olyan további funkciókat és képességeket biztosítanak, amelyek nem érhetők el az alapvető PostgreSQL-disztribúcióban.

Bővítmények

Egy bővítmény definiálásához legalább egy szkriptfájlra van szükség, amely tartalmazza az SQL-parancsokat a bővítmény által elosztott objektumok létrehozásához, valamint egy vezérlőfájlra , amely a bővítmény néhány alapvető tulajdonságát határozza meg.

Amikor bővítményeket hoznak létre, telepítenek vagy betöltenek egy adatbázisba, olyan kötegobjektumokat helyeznek üzembe, amelyek a motor funkcióinak bővítését célul tűzik ki. Ezek az objektumok lehetnek függvények, operátorok, szerepkörök, adattípusok, hozzáférési módszerek és egyéb adatbázis-objektumtípusok.

Amikor a bővítményeket eldobja, eltávolítja vagy kiüríti egy adatbázisból, a bővítmény által létrehozott összes objektum eltávolításra kerül. Ez alól kivételt képeznek azok az objektumok, amelyek a bővítmény által meghatározott objektumok bármelyikétől függenek az adatbázisban.

A bővítmény által elosztott objektumok által biztosított funkciók implementálása SQL-ben vagy PL/pgSQL-ben írható. De egy külön megosztott kódtárfájlban (bináris) is implementálható, amely a funkciót megvalósító forráskód (általában C vagy Rust nyelven íródott) összeállításának eredménye.

A PostgreSQL-ben a bővítmények kezelése a , CREATE EXTENSION, ALTER EXTENSIONés DROP EXTENSION parancsokkal COMMENT ON EXTENSIONtörténik.

  • CREATE EXTENSION létrehoz, telepít vagy betölt egy bővítményt abba az adatbázisba, amelyben a parancs végrehajtása történik.
  • ALTER EXTENSION frissíti a bővítményt egy újabb verzióra.
  • DROP EXTENSION eltávolít, eltávolít vagy eltávolít egy bővítményt abból az adatbázisból, amelyben a parancs végrehajtása történik.
  • COMMENT ON EXTENSION adatbázis-objektumként tárolja a bővítmény megjegyzését.

A kiszolgáló indításakor a rendszer meghatároz egy memóriaterületet, amelyhez az összes háttérfolyamat hozzáférhet, hogy együttműködve futtathassa a számítási feladatokat. A PostgreSQL-zsargonban ezt a memóriaterületet megosztott memóriának nevezzük.

Egyes bővítmények, amelyek megosztott kódtárak használatával implementálják a funkciókat, a megosztott memóriaterületet az ezekben a kódtárakban létrehozott kódból érik el. Ezeknek a bővítményeknek még egy követelményük van, vagyis a megosztott kódtárfájlokat a fő motorfolyamatnak kell betöltenie, amint a kiszolgáló elindul. Ezekben a kódtárakban a betöltési kódtárak utasításait kell követnie.

Modulok

Bár a bővítmények nem tekinthetők ilyennek, mivel nem rendelkeznek vezérlőfájllal és szkriptfájllal a csomagban lévő SQL-objektumok adatbázisbeli üzembe helyezéséhez, a PostgreSQL-ben a bővíthetőség egy másik formája az önálló megosztott bináris kódtárfájlok funkcióinak implementálása.

Ezek a fájlok a kiszolgáló indításakor a memóriába is betölthetők, és olyan kódot implementálhatnak, amely általában a PostgreSQL természetes végrehajtási útvonalát módosítja a motor alapértelmezett működésének megváltoztatásához. Az ilyen viselkedésbeli változások általában a motor néhány korlátozott funkciójának felerősítésére irányulnak.

Az Azure Database for PostgreSQL a következő modulokat támogatja:

  • auto_explain
  • pg_failover_slots
  • pg_partman_bgw
  • wal2json