Compatibilidade com Postgres
Visualização
Esse recurso está em Public Preview nas seguintes regiões: us-east-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, us-east-2, ap-south-1.
O Lakebase (Prévia Pública) é a versão atual pronta para produção. Para obter os recursos mais recentes, incluindo ramificação de banco de dados, escalonamento automático e escalonamento para zero, experimente o Lakebase Postgres (Beta), disponível apenas para avaliação. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.
Esta página descreve como uma instância de banco de dados Lakebase é compatível com o Postgres. Como um serviço de gerenciar Postgres, há algumas diferenças e limitações de funcionalidade.
As instâncias de banco de dados do Databricks são compatíveis apenas com o Postgres 16.
Otimize as consultas
A extensão pg_stat_statements fornece informações detalhadas sobre o desempenho da consulta para ajudar a identificar consultas lentas e otimizá-las.
Os usuários podem ver os textos de consulta de suas consultas e quaisquer funções das quais herdam privilégios. Se você tem o privilégio ADMIN em uma função e não consegue ver os textos de consulta dessa função, conceda a si mesmo a participação nessa função. Se você não tiver privilégios em uma função, não poderá ver seus textos de consulta por motivos de segurança.
Configurações de parâmetros do Postgres
Como um serviço de gerenciar Postgres, os parâmetros do banco de dados são definidos com base no tamanho da instância. Veja todas as configurações de parâmetros usando:
SHOW ALL;
Você pode configurar parâmetros que tenham um contexto user no nível da sessão, do banco de dados ou da função. Você não pode configurar parâmetros no nível da instância.
- 
Mostrar parâmetros que podem ser definidos no nível da sessão, do banco de dados ou da função. SQLSELECT name
 FROM pg_settings
 WHERE context = 'user';
- 
Defina um parâmetro para a sessão. SQLSET maintenance_work_mem='1 GB';
- 
Defina um parâmetro para todas as sessões conectadas a um banco de dados SQLALTER DATABASE databricks_postgres SET maintenance_work_mem='1 GB';
- 
Defina um parâmetro para todas as sessões de um determinado usuário. SQLALTER USER "john@company.com" SET maintenance_work_mem='1 GB';
Codificação e agrupamento suportados
Em default, é usado o agrupamento C.UTF-8. C.UTF-8 suporta toda a gama de caracteres codificados em UTF-8.
A codificação UTF8 (Unicode, codificação de largura variável de 8 bits) é suportada.
Para view a codificação e o agrupamento do seu banco de dados, execute a seguinte consulta.
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';
No Postgres, você não pode alterar a codificação ou o agrupamento de um banco de dados após sua criação.
Limitações de funcionalidade
Funções e permissões
- Você não pode acessar o sistema operacional do host.
- Você não pode se conectar usando o Postgres superuser.- Qualquer funcionalidade que exija privilégios superuserou acesso direto ao sistema de arquivos local não é permitida.
- O databricks_superusersubstitui a funçãosuperuserdo Postgres. Para obter informações sobre os privilégios associados a esta função, consulte Funções e permissões pré-criadas.
 
- Qualquer funcionalidade que exija privilégios 
Replicação
Não há suporte para a criação de slots de replicação, inscrições ou publicações.
Gatilhos de eventos
Os gatilhos de eventos do Postgres não são suportados.
Cancelamento da consulta do cliente
O protocolo de cancelamento do Postgres não pode ser usado para cancelar consultas em andamento.
Em vez disso, crie uma nova conexão e execute 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}';
Extensões suportadas
| Extensão | Versão | 
|---|---|
| endereço_padronizador | 3.3.3 | 
| endereço_standardizer_data_us | 3.3.3 | 
| autônico | 1 | 
| flor | 1 | 
| btree_gin | 1.3 | 
| btree_gist | 1.7 | 
| citexto | 1,6 | 
| cubo | 1.5 | 
| dict_int | 1 | 
| distância terrestre | 1.2 | 
| fuzzystr match | 1.2 | 
| inferno | 2,18 | 
| hstore | 1,8 | 
| insert_username | 1 | 
| intagg | 1.1 | 
| na matriz | 1.5 | 
| não | 1.2 | 
| lo | 1.1 | 
| ltree | 1.2 | 
| moddatetime | 1 | 
| pg_graphql | 1.5.9 | 
| esquema pg_json | 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 | 
| geocodificador postgis_tiger | 3.3.3 | 
| topologia_postgis | 3.3.3 | 
| refinar | 1 | 
| seg | 1.4 | 
| tablefunc | 1 | 
| tcn | 1 | 
| tsm_system_rows | 1 | 
| tsm_system_time | 1 | 
| sem sotaque | 1.1 | 
| uuid-ossp | 1.1 | 
| vetor | 0,8.0 | 
| xml2 | 1.1 |