Compatibilité PostgreSQL
Lakebase Provisioned est l'offre originale de Lakebase qui utilise un compute provisionné que vous mettez à l'échelle manuellement. Pour les régions prises en charge, consultez la disponibilité des régions. Pour la dernière version de Lakebase, avec compute à dimensionnement automatique, mise à l'échelle jusqu'à zéro, création de branches et restauration instantanée, consultez Lakebase Autoscaling.
Depuis le 12 mars 2026, les nouvelles instances Lakebase sont créées en tant que projets de dimensionnement automatique. Les instances provisionnées existantes sont mises à niveau automatiquement vers la mise à l'échelle automatique, à compter de juin 2026. Pour plus de détails, consultez Mise à niveau vers le dimensionnement automatique Lakebase.
Cette page décrit comment une instance de base de données Lakebase est compatible avec Postgres. En tant que service Postgres géré, il existe des différences et des limitations de fonctionnalités.
Les instances de base de données Databricks prennent uniquement en charge Postgres 16.
Optimiser les query
L'extension pg_stat_statements fournit des informations détaillées sur les performances des queries pour aider à identifier les queries lentes et à les optimiser.
Les utilisateurs peuvent voir les textes de query de leurs query et tous les rôles dont ils héritent des privilèges. Si vous avez le privilège ADMIN sur un rôle et que vous ne pouvez pas voir les textes de query de ce rôle, attribuez-vous l'adhésion à ce rôle. Si vous n'avez aucun privilège sur un rôle, vous ne pouvez pas voir ses textes de query pour des raisons de sécurité.
Paramètres du parameter Postgres
En tant que service Postgres géré, les parameters de la base de données sont définis en fonction de la taille de l'instance. Voir tous les paramètres à l'aide de :
SHOW ALL;
Vous pouvez configurer des paramètres qui ont un contexte user au niveau de la session, de la base de données ou du rôle. Vous ne pouvez pas configurer de 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.
SQLSELECT name
FROM pg_settings
WHERE context = 'user'; -
Définissez un parameter pour la session.
SQLSET maintenance_work_mem='1 GB'; -
Définir un paramètre pour toutes les sessions connectées à une base de données
SQLALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB'; -
Définissez un parameter pour toutes les sessions d'un utilisateur donné.
SQLALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
Encodage et classement pris en charge
Par default, la collation C.UTF-8 est utilisée. C.UTF-8 prend en charge la gamme complète de caractères encodés en UTF-8.
L'encodage UTF8 (Unicode, encodage à largeur variable sur 8 bits) est pris en charge.
Pour afficher l'encodage et le classement de votre base de données, exécutez la query 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';
Dans Postgres, vous ne pouvez pas modifier l'encodage ou le classement d'une base de données après sa création.
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 en utilisant Postgres
superuser.- Toute fonctionnalité qui nécessite
superuserprivilèges ou un accès direct au système de fichiers local n'est pas autorisée. - Le
databricks_superuserremplace le rôle Postgressuperuser. Pour obtenir des informations sur les privilèges associés à ce rôle, consultez les rôles Postgres.
- Toute fonctionnalité qui nécessite
Réplication
La création d’emplacements de réplication, d’abonnements ou de publications n’est pas prise en charge.
Event Trigger
Les Trigger d'événements Postgres ne sont pas pris en charge.
Extensions prises en charge
Extension | Version |
|---|---|
address_standardizer | 3.3.3 |
address_standardizer_data_us | 3.3.3 |
autoinc | 1 |
Floraison | 1 |
btree_gin | 1,3 |
btree_gist | 1,7 |
citext | 1.6 |
cube | 1.5 |
dict_int | 1 |
earthdistance | 1,2 |
fuzzystrmatch | 1,2 |
hll | 2,18 |
hstore | 1,8 |
insert_username | 1 |
intagg | 1.1 |
intarray | 1.5 |
isn | 1,2 |
lo | 1.1 |
ltree | 1,2 |
moddatetime | 1 |
pg_graphql | 1.5.9 |
pg_jsonschema | 0.3.3 |
pg_prewarm | 1,2 |
pg_stat_statements | 1,10 |
pg_trgm | 1.6 |
pgcrypto | 1,3 |
pgrowlocks | 1,2 |
plpgsql | 1 |
postgis | 3.3.3 |
postgis_raster | 3.3.3 |
postgis_sfcgal | 3.3.3 |
postgis_tiger_geocoder | 3.3.3 |
postgis_topology | 3.3.3 |
refint | 1 |
seg. | 1.4 |
tablefunc | 1 |
tcn | 1 |
tsm_system_rows | 1 |
tsm_system_time | 1 |
unaccent | 1.1 |
uuid-ossp | 1.1 |
Vecteur | 0.8.0 |
xml2 | 1.1 |