Megosztás:


Postgres kompatibilitás

Fontos

A Lakebase automatikus skálázása bétaverzióban érhető el a következő régiókban: eastus2, , westeuropewestus.

A Lakebase Autoscaling a Lakebase legújabb verziója automatikus skálázási számítással, nullára skálázással, elágaztatással és azonnali visszaállítással. A Lakebase Provisioned szolgáltatással való összehasonlításához tekintse meg a verziók közötti választást.

Ez a lap azt ismerteti, hogy a Lakebase Postgres hogyan kompatibilis a standard Postgres szolgáltatással. Felügyelt Postgres-szolgáltatásként vannak különbségek és korlátozások.

Postgres-verzió támogatása

A Lakebase Autoscaling támogatja a Postgres 16-ot és a Postgres 17-et.

Postgres-bővítmény támogatása

A Lakebase számos Postgres-bővítményt támogat. A teljes listát a Postgres-bővítményekben találja.

Munkamenet, memória és tárterület

Munkamenet-környezet

A Lakebase nullára skálázó funkció automatikusan lezárja a tétlen kapcsolatokat tétlenségi időszak után.

A kapcsolatok bezárásakor a munkamenet-környezet minden része, például az ideiglenes táblák, az előkészített utasítások, a tanácsadási zárolások, valamint a NOTIFY és a LISTEN parancsok elvesznek.

A munkamenetszintű környezetek elvesztésének elkerülése érdekében letilthatja a nullára skálázást. Ez azonban azt jelenti, hogy a számítás 24/7-es futású.

Memory

Az SQL-lekérdezések és az index buildjei nagy mennyiségű adatot hozhatnak létre, amelyek nem férnek el a memóriában. A számítás mérete határozza meg a rendelkezésre álló memória mennyiségét.

Nem megjelölt táblák

A nem naplózott táblák olyan táblák, amelyek nem írnak a Postgres előzetes naplójába (WAL). Ezek a táblák a számítási helyi tárolóban vannak tárolva, és nem maradnak meg a számítási újraindítások során, vagy ha egy számítási skálázás nullára van skálázva. Ez ellentétben áll a szokásos Postgres esetében, ahol a naplózás nélküli táblák csak rendellenes folyamatleálláskor truncálódnak. Emellett a nem megjelölt táblákat a helyi lemezterület számítási kapacitása is korlátozza. A Lakebase számításai 20 GiB helyi lemezterületet foglalnak le, vagy a Postgres által használt ideiglenes fájlok maximális számítási méretének 15 GiB-szeresét (amelyik a legmagasabb).

ideiglenes táblák

Az ideiglenes táblák csak egy munkamenet (vagy opcionálisan tranzakció) teljes élettartama alatt léteznek. A nem naplózott táblákhoz hasonlóan, a rendszer a számítási lokális tárolóban tárolja őket, és a korlátozást a helyi lemezterület határozza meg.

Postgres-naplók

A Postgres-naplókhoz való hozzáférés nem támogatott.

Statisztikai adatgyűjtés

A Postgres kumulatív statisztikai rendszere által gyűjtött statisztikák nem lesznek mentve, ha egy számítás (ahol a Postgres fut) nullára skálázódik. A statisztikák elvesztésének elkerülése érdekében letilthatja a nullára skálázási funkciót. A skálázás nullára való letiltása azonban azt is jelenti, hogy a számítás 24/7-re fog futni.

Postgres paraméterbeállítások

Felügyelt Postgres-szolgáltatásként számos adatbázisparaméter van beállítva a számítási méret alapján. Tekintse meg az összes adatbázisparaméter-beállítást az alábbiak használatával:

SHOW ALL;

Konfigurálhat olyan paramétereket, amelyek a user környezetet a munkamenet, az adatbázis vagy a szerepkör szintjén határozzák meg. A paraméterek példányszinten nem konfigurálhatók.

  • A munkamenet, az adatbázis vagy a szerepkör szintjén beállítható paraméterek megjelenítése.

    SELECT name
    FROM pg_settings
    WHERE context = 'user';
    
  • Adjon meg egy paramétert a munkamenethez.

    SET maintenance_work_mem='1 GB';
    
  • Adjon meg egy paramétert az adatbázishoz csatlakoztatott összes munkamenethez.

    ALTER DATABASE lakebase SET maintenance_work_mem='1 GB';
    
  • Adjon meg egy paramétert egy adott felhasználó összes munkamenetéhez.

    ALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
    

Adatbázis kódolása és rendezése

Adatbázis kódolása

Alapértelmezés szerint a rendszer a C.UTF-8 rendezést használja. A C.UTF-8 támogatja az UTF-8 kódolt karakterek teljes tartományát.

Az UTF8 kódolás (Unicode, 8 bites változószélességű kódolás) is támogatott.

Az adatbázis kódolásának és rendezésének megtekintéséhez futtassa a következő lekérdezést:

SELECT
    pg_database.datname AS database_name,
    pg_encoding_to_char(pg_database.encoding) AS encoding,
    pg_database.datcollate AS collation,
    pg_database.datctype AS ctype
FROM
    pg_database
WHERE
    pg_database.datname = 'your_database_name';

Megjegyzés:

A Postgresben nem módosíthatja az adatbázisok kódolását vagy rendezési állapotát a létrehozásuk után.

Kollációk

A rendezés olyan SQL-sémaobjektum, amely egy SQL-nevet képez le az operációs rendszerben telepített kódtárak által biztosított lokáltértékekhez.

Alapértelmezés szerint a Lakebase a C.UTF-8 rendezést használja. A Lakebase által támogatott másik szolgáltató a icukülső ICU-kódtárat használja.

A Lakebase előre definiált icu-területi beállítások teljes sorozatát biztosítja, ha területi beállításokra vagy esetkonverziókra van szükség.

  • Az összes előre definiált területi beállítás megtekintése:
SELECT * FROM pg_collation;
  • Adatbázis létrehozása előre definiált icu területi beállítással:
CREATE DATABASE my_arabic_db
LOCALE_PROVIDER icu
icu_locale 'ar-x-icu'
template template0;
  • Adja meg az egyes oszlopok területi beállítását:
CREATE TABLE my_ru_table (
    id serial PRIMARY KEY,
    russian_text_column text COLLATE "ru-x-icu",
    description text
);

A funkciók korlátozásai

Szerepkörök és engedélyek

  • Nem férhet hozzá a gazdagép operációs rendszeréhez.
  • A Postgres superuserhasználatával nem tud csatlakozni.
    • Nem engedélyezett minden olyan funkció, amely jogosultságot vagy közvetlen helyi fájlrendszer-hozzáférést igényel superuser .
    • A databricks_superuser veszi át a Postgres-szerepkör superuser helyét. A szerepkörhöz társított jogosultságokról további információt a Szerepkörök kezelése című témakörben talál.

Replikáció

Az adatok replikálása egy Lakebase-adatbázisba vagy onnan natív Postgres logikai replikációval még nem érhető el.

Táblaterek

A Lakebase nem támogatja a Postgres-táblatereket. Ha egy táblateret próbál létrehozni a paranccsal, hibaüzenet CREATE TABLESPACE jelenik meg. Ennek oka a Lakebase felügyelt felhőarchitektúrája, amely nem teszi lehetővé a közvetlen fájlrendszer-hozzáférést az egyéni tárolóhelyekhez.

Ha olyan meglévő alkalmazásokkal vagy szkriptekkel rendelkezik, amelyek táblatereket használnak adatbázis-objektumok különböző tárolóeszközök közötti rendszerezéséhez, ezeket a hivatkozásokat el kell távolítania vagy módosítania kell a Lakebase-re való migráláskor.