Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
La mise à l’échelle automatique Lakebase est en version bêta dans les régions suivantes : eastus2, westeurope, westus.
La version Autoscaling de Lakebase est la dernière de Lakebase, offrant l'autoscaling, la mise à l'échelle à zéro, la bifurcation et la restauration instantanée. Pour la comparaison des fonctionnalités avec Lakebase Provisioned, consultez le choix entre les versions.
Cette page décrit comment Lakebase Postgres est compatible avec Postgres standard. En tant que service Postgres managé, il existe certaines différences et limitations.
Prise en charge de la version de Postgres
La mise à l’échelle automatique Lakebase prend en charge Postgres 16 et Postgres 17.
Prise en charge de l’extension Postgres
Lakebase prend en charge de nombreuses extensions Postgres. Pour obtenir la liste complète, consultez les extensions Postgres.
Session, mémoire et stockage
Contexte de session
La fonctionnalité Lakebase de mise à l'échelle à zéro ferme automatiquement les connexions inactives après une période d'inactivité.
Lorsque les connexions sont fermées, tout ce qui se trouve dans le contexte de session, comme les tables temporaires, les instructions préparées, les verrous consultatifs et les commandes NOTIFY et LISTEN , est perdu.
Pour éviter de perdre les contextes au niveau de la session, vous pouvez désactiver l'option de réduction à zéro. Toutefois, cela signifie que votre calcul s’exécute 24/7.
Mémoire
Les requêtes SQL et les constructions d’index peuvent générer de grands volumes de données qui peuvent ne pas tenir en mémoire. La taille de votre calcul détermine la quantité de mémoire disponible.
Tables non journalisées
Les tables non journalisées sont des tables qui n'écrivent pas dans le journal de pré-écriture de Postgres (WAL). Ces tables sont stockées dans le stockage local de calcul et ne sont pas conservées entre les redémarrages de calcul ou lorsqu’un calcul est mis à l’échelle à zéro. Cela diffère du PostgreSQL standard, où les tables non journalisées ne sont tronquées qu'en cas de terminaison anormale du processus. En outre, les tables non journalisées sont limitées par l’espace disque local alloué au calcul. Les calculs Lakebase allouent 20 Gio d’espace disque local ou 15 Gio fois la taille de calcul maximale (la plus élevée) pour les fichiers temporaires utilisés par Postgres.
Tables temporaires
Les tables temporaires existent uniquement pour la durée de vie d’une session (ou éventuellement une transaction). Comme les tables non journalisées, elles sont stockées dans le stockage local de calcul et limitées par l’espace disque local.
Journaux Postgres
L’accès aux journaux de Postgres n’est pas pris en charge.
Collection de statistiques
Les statistiques collectées par le système de statistiques cumulatives Postgres ne sont pas enregistrées lorsqu’un calcul (où Postgres s’exécute) est mis à l’échelle à zéro. Pour éviter de perdre des statistiques, vous pouvez désactiver la fonctionnalité de mise à l’échelle à zéro. Toutefois, la désactivation de l’échelle à zéro signifie également que votre calcul s’exécute 24/7.
Paramètres Postgres
En tant que service Postgres managé, de nombreux paramètres de base de données sont définis en fonction de la taille de calcul. Consultez tous les paramètres de votre base de données à l’aide des éléments suivants :
SHOW ALL;
Vous pouvez configurer des paramètres qui ont un user contexte au niveau de la session, de la base de données ou du rôle. Vous ne pouvez pas configurer les paramètres au niveau de l’instance.
Afficher les paramètres qui peuvent être définis au niveau de la session, de la base de données ou du rôle.
SELECT name FROM pg_settings WHERE context = 'user';Définissez un paramètre pour la session.
SET maintenance_work_mem='1 GB';Définissez un paramètre pour toutes les sessions connectées à une base de données.
ALTER DATABASE lakebase SET maintenance_work_mem='1 GB';Définissez un paramètre pour toutes les sessions d’un utilisateur donné.
ALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
Encodage et classements de base de données
Encodage de base de données
Par défaut, le classement C.UTF-8 est utilisé. C.UTF-8 prend en charge la plage complète de caractères encodés UTF-8.
L’encodage UTF8 (encodage de largeur variable 8 bits Unicode) est également pris en charge.
Pour afficher l’encodage et le classement de votre base de données, exécutez la requête suivante :
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';
Note
Dans Postgres, vous ne pouvez pas modifier l’encodage ou le classement d’une base de données après sa création.
Collations
Un classement est un objet de schéma SQL qui mappe un nom SQL aux paramètres régionaux fournis par les bibliothèques installées dans le système d’exploitation.
Par défaut, Lakebase utilise le C.UTF-8 classement. Un autre fournisseur pris en charge par Lakebase est icu, qui utilise la bibliothèque d’ICU externe.
Lakebase fournit une série complète de paramètres régionaux icu prédéfinis au cas où vous auriez besoin de conversions de tri ou de cas adaptées aux paramètres régionaux.
- Affichez tous les paramètres régionaux prédéfinis :
SELECT * FROM pg_collation;
- Créez une base de données avec des paramètres régionaux prédéfinis
icu:
CREATE DATABASE my_arabic_db
LOCALE_PROVIDER icu
icu_locale 'ar-x-icu'
template template0;
- Spécifiez des paramètres régionaux pour des colonnes individuelles :
CREATE TABLE my_ru_table (
id serial PRIMARY KEY,
russian_text_column text COLLATE "ru-x-icu",
description text
);
Limitations des fonctionnalités
Rôles et autorisations
- Vous ne pouvez pas accéder au système d’exploitation hôte.
- Vous ne pouvez pas vous connecter à l’aide de Postgres
superuser.- Toutes les fonctionnalités qui nécessitent
superuserdes privilèges ou un accès direct au système de fichiers local ne sont pas autorisées. - Le
databricks_superuserremplace le rôle Postgressuperuser. Pour plus d’informations sur les privilèges associés à ce rôle, consultez Gérer les rôles.
- Toutes les fonctionnalités qui nécessitent
Réplication
La réplication de données vers ou depuis une base de données Lakebase à l’aide de la réplication logique Postgres native n’est pas encore disponible.
Tablespaces
Lakebase ne prend pas en charge les espaces de table Postgres. La tentative de création d’un espace de table avec la CREATE TABLESPACE commande entraîne une erreur. Cela est dû à l’architecture cloud managée de Lakebase, qui n’autorise pas l’accès direct au système de fichiers pour les emplacements de stockage personnalisés.
Si vous avez des applications ou des scripts existants qui utilisent des espaces de table pour organiser des objets de base de données sur différents appareils de stockage, vous devez supprimer ou modifier ces références lors de la migration vers Lakebase.