Partager via


Compatibilité Postgres

Important

Cette fonctionnalité est en préversion publique dans les régions suivantes : westus, , westus2eastuseastus2, , centralus, southcentralus, , northeuropewesteurope, , australiaeastbrazilsouth, , canadacentral, centralindia, , . southeastasiauksouth

Cette page décrit comment une instance de base de données Lakebase est compatible avec Postgres. En tant que service Postgres managé, il existe des différences et des limitations de fonctionnalités.

Important

Les instances de base de données Azure Databricks prennent uniquement en charge Postgres 16.

Optimiser les requêtes

L’extension pg_stat_statements fournit des informations détaillées sur les performances des requêtes afin d’identifier les requêtes lentes et de les optimiser.

Les utilisateurs peuvent voir les textes de requête de leurs requêtes 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 requête pour ce rôle, ajoutez-vous comme membre de ce rôle. Si vous n’avez aucun privilège sur un rôle, vous ne pouvez pas voir ses textes de requête pour des raisons de sécurité.

Réglages des paramètres Postgres

En tant que service Postgres managé, les paramètres de base de données sont définis en fonction de la taille de l’instance. Consultez tous les paramètres à l’aide de :

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éfinir un paramètre pour toutes les sessions connectées à une base de données

    ALTER DATABASE databricks_postgres 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 classement pris en charge

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

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 superuser des privilèges ou un accès direct au système de fichiers local ne sont pas autorisées.
    • Le databricks_superuser remplace le rôle Postgres superuser. Pour plus d’informations sur les privilèges associés à ce rôle, consultez Rôles et autorisations précréés.

Réplication

La création d’emplacements de réplication, d’abonnements ou de publications n’est pas prise en charge.

Déclencheurs d’événement

Les déclencheurs d’événements Postgres ne sont pas pris en charge.

Extensions prises en charge

Extension Version
standardiseur_d'adresse 3.3.3
données_standardisées_d'adresses_us 3.3.3
autoinc 1
bloom 1
btree_gin 1.3
btree_gist 1.7
citext 1.6
cube 1,5
dict_int 1
distance terrestre 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