重要
此功能在以下区域中为公共预览版:westus、westus2、eastus、eastus2、centralus、southcentralus、northeurope、westeurope、australiaeast、brazilsouth、canadacentral、centralindia、southeastasia、uksouth。
本页介绍 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取代 Postgressuperuser角色。 有关与此角色关联的特权的信息,请参阅 预先创建的角色和权限。 
 - 不允许任何需要 
 
重复
不支持创建复制槽、订阅和发布。
事件触发器
不支持 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 |