Postgres pro szabvány dokumentáció 9

Ez a rész a tárolási formátum szintjén fájlokat és könyvtárakat.

konfigurációs és adatfájlok által használt adatbázis cluster, hagyományosan együtt tárolják a klaszter data könyvtárban, nevén PGDATA (nevében a környezeti változó, amelyet fel lehet használni, hogy meghatározza azt). PGDATA általában a / var / lib / pgsql / data. Egy és ugyanazon a gépen lehet több klaszterek által kezelt, különböző szerver példányok.







A PGDATA könyvtár tartalmaz több alkönyvtárat és ellenőrző fájlok, táblázatban bemutatott 63-1. Amellett, hogy ezeket a szükséges elemeket a klaszter konfigurációs fájlok postgresql.conf. pg_hba.conf és pg_ident.conf hagyományosan tárolt PGDATA. bár lehet helyezni egy másik helyre.

A fájl tartalmazza a fő verziószám POSTGRES Pro

Egy alkönyvtár tartalmazó alkönyvtár minden adatbázis

Alkönyvtár tartalmazó általános táblázatot a klaszter, mint például pg_database

Alkönyvtár, amely információkat tartalmaz az ügylet elkövetni idő

A alkönyvtár, amely információkat tartalmaz az állapotát a tranzakció

Alkönyvtárban fájlok segítségével dinamikusan osztott memória alrendszer

Alkönyvtárban információt az állam dekódoló logika

Alkönyvtárban információt az állam multitranzaktsy (használt megosztott sorzárolások)

Alkönyvtárban állami adatokat és a bejelentés hallgat (hallgatni / értesítés)

A fájl rögzítése parancssori paraméterek, hogy a szerver már fut utoljára

van egy alkönyvtár belsejében PGDATA / bázis klaszter minden adatbázis. elemzi az OID adatbázis pg_database. Ez az alkönyvtár az alapértelmezett tárolási helyét az adatbázis fájlokat; különösen annak rendszerkatalógusok ott tárolt.







Megjegyezzük, hogy bár az asztal ügyszáma gyakran egybeesik OID ez nem mindig így; Egyes műveletek, például levágását. Újraindexelés. Klaszter és bizonyos formái ALTER TABLE parancs lehet változtatni a fájl száma, de fogja a változónak az értékét. Nem várhatjuk, hogy a szám a fájl csomópont és OID ugyanannál az asztalnál. Ezen kívül néhány rendszer könyvtárak, beleértve pg_class. A pg_class .relfilenode tartalmaz nulla. A tényleges száma a fájl csomóponthoz vannak tárolva az alacsony szintű adatstruktúra, és alkalmazásával érhetjük pg_relation_filenode () függvény.

Amikor a kötet egy tábla vagy index meghaladja az 1 GB, oszlanak szegmensek mérete egy gigabájt. A fájl neve egy első szegmense a fájl csomópont számnál (filenode); későbbi szegmensek filenode.1 nevek, filenode.2 és így tovább. d. Ezzel rendszerezése, tárolása nem jelent problémát a platformok, amelyek korlátozzák a fájlok méretét. (Valójában, 1 GB egy szabványos méretű szegmensek. A szegmens méret lehet változtatni a --with-segsize konfigurációs paraméter létrehozásakor Postgres Pro.) Elvileg, a szabad tér és térképeket a láthatóság is elfoglalni több szegmensben, bár a gyakorlatban ez nem valószínű.

Egy asztal, amelynek oszlopai tartalmaznak nagy mennyiségű adatot, majd saját asztal pirítóst. szánt elkülönített tárolására értékek, amelyek túl nagyok a tárolás tekintetében a táblázat sorait is. A fő táblázat társított annak TOAST táblázat (ha van ilyen) keresztül pg_class .reltoastrelid. További információkért, lásd 63.2.

pg_relation_filepath () funkció megjeleníti a teljes elérési utat (relatív PGDATA) bármely kapcsolat. Ez gyakran szükségtelenné teszi memorizálni sok a megadott szabályok szerint. De nem szabad elfelejteni, hogy ez a funkció az csak a neve az első szegmens az alapréteg aránya, t. E. Szükséges lehet hozzáadni a szegmens számát és / vagy _fsm. _vm vagy _init. megtalálni az összes társított fájlok az arány.

Ideiglenes fájlok (műveletek, mint a válogatás az adatok mennyisége nagyobb, mint amennyi elfér a memóriában) belül PGDATA / base / pgsql_tmp vagy alkönyvtár belül pgsql_tmp katalógus táblaterülethez, ha van egy külön táblázat tér, kivéve pg_default. Ideiglenes fájlnév formájában pgsql_tmpPPP .NNN. ahol PPP - PID szerver folyamat, és NNN elválasztására használják a különböző ideiglenes fájlokat a szerver folyamat.