Aller au contenu principal

Compatibilité PostgreSQL

info

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.

important

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 :

SQL
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.

    SQL
    SELECT name
    FROM pg_settings
    WHERE context = 'user';
  • Définissez un parameter pour la session.

    SQL
    SET maintenance_work_mem='1 GB';
  • Définir un paramètre pour toutes les sessions connectées à une base de données

    SQL
    ALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
  • Définissez un parameter pour toutes les sessions d'un utilisateur donné.

    SQL
    ALTER 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.

SQL
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';
remarque

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 superuser privilèges ou un accès direct au système de fichiers local n'est pas autorisée.
    • Le databricks_superuser remplace le rôle Postgres superuser. Pour obtenir des informations sur les privilèges associés à ce rôle, consultez les rôles Postgres.

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

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