Postgres 兼容性

重要

此功能在以下区域中为公共预览版westuswestus2eastuseastus2centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindiasoutheastasiauksouth

本页介绍 Lakebase 数据库实例如何与 Postgres 兼容。 作为托管 Postgres 服务,存在一些差异和功能限制。

重要

Azure Databricks 数据库实例仅支持 Postgres 16。

优化查询

pg_stat_statements 扩展提供有关查询性能的详细信息,以帮助识别慢速查询并优化查询。

用户可以看到其查询的查询文本,还可以查看他们的特权是从哪些角色继承而来。 如果您拥有某个角色的 ADMIN 权限,但无法查看该角色的查询文本,请将自己加入这个角色以获得成员身份。 如果您对某个角色没有权限,则出于安全原因无法看到其查询文本。

Postgres 参数设置

作为托管 Postgres 服务,数据库参数是根据实例大小设置的。 使用以下命令查看所有参数设置:

SHOW ALL;

可以配置在会话、数据库或角色级别具有 user 上下文的参数。 不能在实例级别配置参数。

  • 显示可在会话、数据库或角色级别设置的参数。

    SELECT name
    FROM pg_settings
    WHERE context = 'user';
    
  • 设置会话的参数。

    SET maintenance_work_mem='1 GB';
    
  • 为连接到数据库的所有会话设置参数

    ALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
    
  • 为给定用户的所有会话设置参数。

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

支持的编码和排序规则

默认情况下,使用 C.UTF-8 排序规则。 C.UTF-8 支持各种 UTF-8 编码字符。

支持 UTF8 编码(Unicode、8 位可变宽度编码)。

若要查看数据库的编码和排序规则,请运行以下查询。

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

注释

在 Postgres 中,创建数据库后无法更改数据库的编码或排序规则。

功能限制

角色和权限

  • 无法访问主机操作系统。
  • 无法使用 Postgres superuser进行连接。
    • 不允许任何需要 superuser 特权或直接本地文件系统访问的功能。
    • databricks_superuser 取代 Postgres superuser 角色。 有关与此角色关联的特权的信息,请参阅 预先创建的角色和权限

重复

不支持创建复制槽、订阅和发布。

事件触发器

不支持 Postgres 事件触发器

客户查询取消

Postgres 取消协议 不能用于取消正在进行的查询。

请改为创建新的连接并运行 pg_cancel_backend(pid)

SELECT pg_cancel_backend(pid)
FROM pg_stat_activity
WHERE pid <> pg_backend_pid() AND
query = '{The query you want to cancel}';

支持的扩展

Extension 版本
地址标准化器 3.3.3
address_standardizer_data_us 3.3.3
autoinc 1
bloom 1
btree_gin 1.3
btree_gist 1.7
citext 1.6
多维数据集 1.5
dict_int 1
地球距离 1.2
fuzzystrmatch 1.2
hll 2.18
hstore 1.8
insert_username 1
intagg 1.1
intarray 1.5
不是 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 (PostGIS 拓扑模块) 3.3.3
refint 1
seg 1.4
tablefunc 1
tcn 1
tsm_system_rows 1
tsm_system_time 1
无重音 1.1
uuid-ossp 1.1
向量 0.8.0
xml2 1.1